新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC18f8772 串口通訊

        PIC18f8772 串口通訊

        作者: 時間:2016-11-11 來源:網絡 收藏
        1. /***************************************************
        2. **
        3. ** MCU:PIC18f8772
        4. ** 功能:串口接收
        5. ** 說明:輪詢方式
        6. ** 時間:2012-5-28 Lzy
        7. **
        8. *****************************************************/
        9. #include
        10. /* 串口初始化 */
        11. voidUartInit(void)
        12. {
        13. RCSTA1bits.SPEN=1;// 串口使能
        14. TRISCbits.TRISC7=1;// 異步串行接收數據輸入
        15. TRISCbits.TRISC6=0;// 異步和同步主模式,TRISC<6> 零(= 0)
        16. // TXSTA1:發送狀態和控制寄存器
        17. TXSTA1bits.SYNC=0;// 異步模式
        18. TXSTA1bits.TX9=0;// 選擇8 位發送
        19. TXSTA1bits.TXEN=1;// 禁止發送
        20. TXSTA1bits.BRGH=1;// 高速
        21. TXSTA1bits.TXEN=1;// 使能發送
        22. // RCSTA1:接收狀態和控制寄存器
        23. RCSTA1bits.RX9=0;// 選擇8 位接收
        24. RCSTA1bits.CREN=1;// 使能接收器
        25. // BAUDCON1:波特率控制寄存器
        26. BAUDCON1bits.BRG16=0;// 8位波特率發生器——SPBRGHx 和SPBRGx
        27. SPBRG1=25;
        28. TRISF=0;
        29. }
        30. voidmain()
        31. {
        32. UartInit();
        33. if(PIR1bits.RC1IF)// 已接收數據
        34. {
        35. PORTF=RCREG1;// 讀取接收到的數據
        36. }
        37. }
        1. /***************************************************
        2. **
        3. ** MCU:PIC18f8772
        4. ** 功能:串口發送
        5. ** 說明:
        6. ** 時間:2012-5-28 Lzy
        7. **
        8. *****************************************************/
        9. #include
        10. /* 串口初始化 */
        11. voidUartInit(void)
        12. {
        13. RCSTA1bits.SPEN=1;// 串口使能
        14. TRISCbits.TRISC7=1;// 異步串行接收數據輸入
        15. TRISCbits.TRISC6=0;// 異步和同步主模式,TRISC<6> 零(= 0)
        16. // TXSTA1:發送狀態和控制寄存器
        17. TXSTA1bits.SYNC=0;// 異步模式
        18. TXSTA1bits.TX9=0;// 選擇8 位發送
        19. TXSTA1bits.TXEN=1;// 禁止發送
        20. TXSTA1bits.BRGH=1;// 高速
        21. TXSTA1bits.TXEN=1;// 使能發送
        22. // RCSTA1:接收狀態和控制寄存器
        23. RCSTA1bits.RX9=0;// 選擇8 位接收
        24. RCSTA1bits.CREN=1;// 使能接收器
        25. // BAUDCON1:波特率控制寄存器
        26. BAUDCON1bits.BRG16=0;// 8位波特率發生器——SPBRGHx 和SPBRGx
        27. SPBRG1=25;
        28. TRISE=0xff;
        29. TRISA=0;
        30. }
        31. voidmain()
        32. {
        33. UartInit();
        34. if(TXSTA1bits.TRMT)// 發送完畢
        35. {
        36. TXREG1=PORTE;// 發送數據
        37. }
        38. }



        關鍵詞: PIC18f8772串口通

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 城固县| 岚皋县| 石景山区| 紫金县| 丰城市| 赤城县| 城口县| 曲麻莱县| 璧山县| 剑河县| 上林县| 佛教| 滁州市| 罗山县| 余庆县| 县级市| 广元市| 汉源县| 陆丰市| 罗山县| 涿鹿县| 江达县| 黄平县| 周宁县| 天镇县| 观塘区| 武冈市| 新野县| 德惠市| 马山县| 连山| 远安县| 鄯善县| 淮北市| 平昌县| 民丰县| 北京市| 井陉县| 新安县| 澄迈县| 荣昌县|