在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            STM8S UART2 TX & RX

            作者: 時間:2016-12-03 來源:網(wǎng)絡(luò) 收藏
            C語言:&nbsp;Codee#12198
            /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            + 實驗平臺 : ST 官方三合一套件
            + 硬件 : STM8S105S6T6C
            + 開發(fā)平臺 : 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位停止位 , 無奇偶效驗 , , 發(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個字節(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 使用外部晶振 要把時鐘全局變量修改成使用的晶振 “ #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

            評論


            相關(guān)推薦

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

            關(guān)閉