<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          STM8S UART2 TX & RX

          作者: 時(shí)間:2016-12-03 來(lái)源:網(wǎng)絡(luò) 收藏
          C語(yǔ)言:&nbsp;Codee#12198
          /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          + 實(shí)驗(yàn)平臺(tái) : ST 官方三合一套件
          + 硬件 : STM8S105S6T6C
          + 開發(fā)平臺(tái) : IAR For STM8 1.10
          + 仿真器 : ST-Link
          + 日期 : 2010-7-23
          ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
          #include "stm8s.h"

          unsignedcharRX_Words;// 接收到的數(shù)據(jù)
          unsignedcharflag;// 接收到數(shù)據(jù)標(biāo)志位

          /*******************************************************************************
          * ==啟用外部晶振函數(shù)==
          *******************************************************************************/
          voidHSE_CLK_INIT(void)
          {
          CLK_DeInit();
          CLK_HSECmd(ENABLE);
          while(SET!=CLK_GetFlagStatus(CLK_FLAG_HSERDY));
          CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
          CLK_ClockSwitchCmd(ENABLE);
          CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE);
          }

          /*******************************************************************************
          * ==UART2初始化函數(shù)==
          * UART2_DeInit(); --> 復(fù)位串口2的寄存器值
          * UART2_Init((u32)9600, UART2_WORDLENGTH_8D, UART2_STOPBITS_1, UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);
          --> 波特率 9600 , 8位數(shù)據(jù)位 , 1位停止位 , 無(wú)奇偶效驗(yàn) , , 發(fā)送接收使能
          * UART2_ITConfig(UART2_IT_RXNE, ENABLE); --> 使能接收中斷
          * UART2_Cmd(ENABLE); --> 使能串口2
          *******************************************************************************/
          voidUART2_INIT(void)
          {
          UART2_DeInit();
          UART2_Init((u32)9600,UART2_WORDLENGTH_8D,UART2_STOPBITS_1,UART2_PARITY_NO,UART2_SYNCMODE_CLOCK_DISABLE,UART2_MODE_TXRX_ENABLE);
          UART2_ITConfig(UART2_IT_RXNE,ENABLE);
          UART2_Cmd(ENABLE);
          }

          /*******************************************************************************
          * ==UART2_TX 發(fā)送1個(gè)字節(jié) 函數(shù)==
          * UART2_FLAG_TXE : Transmit Data Register Empty flag 串口2發(fā)送寄存器為空標(biāo)志位 返回1 為空 返回0 不空
          *******************************************************************************/
          voidUart2_Send1Byte(unsignedcharTxData)
          {
          while(UART2_GetFlagStatus(UART2_FLAG_TXE)==0);
          UART2_SendData8(TxData);
          }

          /*******************************************************************************
          * ==Main函數(shù)==
          * 需要配置 stm8s.h 的相關(guān)文件
          1 使用STM8S105相關(guān)文件 “ #define STM8S105 ”
          * 需要配置 stm8s_conf.h 的相關(guān)文件
          1 使用外部晶振 要把時(shí)鐘全局變量修改成使用的晶振 “ #define HSE_VALUE ((u32) 7372800) ”
          2 配置串口2的相關(guān)初始化文件 “ #define _UART2 (1) ”
          * 不要忘記使能全局中斷!
          *******************************************************************************/
          voidmain(void)
          {
          HSE_CLK_INIT();
          UART2_INIT();
          enableInterrupts();

          while(1)
          {
          if(flag)
          {
          flag=0;
          Uart2_Send1Byte(RX_Words);// 將接收到的數(shù)據(jù)發(fā)送出去
          }
          }
          }
          /*******************************************************************************
          * ==RX 接收中斷==
          * UART2_IT_RXNE : Data Register Not Empty interrupt 接收寄存器 滿 標(biāo)志位
          *******************************************************************************/
          #pragma vector=0x17
          __interruptvoidUART2_RX_IRQHandler(void)
          {
          UART2_ClearITPendingBit(UART2_IT_RXNE);// 清標(biāo)志位
          RX_Words=UART2_ReceiveData8();// 把接收到的數(shù)據(jù)復(fù)制給變量
          flag=1;
          }


          關(guān)鍵詞: STM8SUART2TX&R

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();