新聞中心

        STM8 UART

        作者: 時間:2016-11-18 來源:網絡 收藏
        STM8UART功能強大,除了常規的串口異步通訊外,還擁有LIN主模式、紅外編解碼器、智能卡模擬等功能。新手還是從基本的串口通訊入手,那些高級功能等熟練以后再慢慢研究吧。
        #i nclude
        void CLK_init(void)
        {
        CLK_CKDIVR = 0x08; // 16M內部RC經2分頻后系統時鐘為8M
        }
        void UART3_init(void)
        {
        UART3_BRR2 = 0x01; // 設置波特率9600
        UART3_BRR1 = 0x34; // 8M/9600 = 0x341
        UART3_CR2 = 0x2C; // 允許接收中斷,允許接收,允許發送
        }
        #pragma vector=UART3_R_RXNE_vector
        __interrupt void UART3_RX_RXNE(void)
        {
        unsigned char c;
        c = UART3_DR; // 接收到數據了
        while(!UART3_SR_TXE);
        c++; // 把接收到的數據加1
        UART3_DR = c; // 再發回去,為什么這么做?在電腦上串口調試軟件里發1就收到2,發A就收到B,看運行結果比較方便
        }
        void init_devices(void)
        {
        asm("sim"); // 關全局中斷
        CLK_init();
        UART3_init(); // 開發板上的串口接的是UART3,剛開始想當然的認為UART1,浪費我半個小時
        asm("rim"); // 開全局中斷
        }
        void main( void )
        {
        init_devices();
        // 主循環里沒有程序需要執行
        while(1);
        }


        關鍵詞: STM8UAR

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 兰坪| 竹北市| 高阳县| 葫芦岛市| 洪雅县| 通化市| 建昌县| 台东市| 宿松县| 阜康市| 从化市| 鹰潭市| 运城市| 监利县| 虞城县| 永顺县| 濉溪县| 勃利县| 定州市| 利辛县| 拉孜县| 东兰县| 麻城市| 邵阳市| 新沂市| 梓潼县| 舞钢市| 远安县| 政和县| 昭苏县| 长丰县| 浪卡子县| 井冈山市| 长子县| 益阳市| 吉首市| 海原县| 成安县| 景德镇市| 武清区| 丹东市|