欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

我的單片機串口通信,目的是發送什么就接受什么,程序總是出現問題

查看數: 3647 | 評論數: 7 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2022-2-27 16:00

正文摘要:

#include<reg52.h> #define uchar unsigned char #define uint unsigned int          void main() {         TMOD=0x20;     &n ...

回復

ID:514254 發表于 2022-3-3 11:28
  1. #include <reg51.h>
  2. /**************************************************
  3. 接收數據中斷服務子函數
  4. ***************************************************/
  5. void RXD_CHAR() interrupt 4
  6. {
  7.     unsigned char RXD_data;
  8.     if(RI==1) {                                //判斷串行接收中斷
  9.         RXD_data = SBUF;        //讀取數據
  10.         P0 = RXD_data;                 //顯示所讀取的數據
  11.         RI = 0;                                //接收完畢,清中斷標志
  12.     }                               
  13. }
  14. void main()
  15. {
  16.     TMOD = 0x20;                //將定時器1作為比特率的產生器
  17.     TH1  = 0xFD;                //比特率設置為9600bit/s
  18.     SCON = 0x50;                //串行工作模式為1,允許接收01010000                                  
  19.     EA = 1;                                //開總中斷
  20.     ES = 1;                                //開串行中斷
  21.     TR1 = 1;                        //啟動定時器1
  22.    
  23.         while(1) {
  24.         ;        
  25.     }
  26. }
復制代碼


僅供參考
ID:143186 發表于 2022-3-3 11:10
不要發送123,用兩位數試一下,例如發送12,看返回什么
ID:466505 發表于 2022-2-28 17:10
中斷要判定是接收中斷還是發送中斷
ID:1007106 發表于 2022-2-28 16:27
先配置好串口
ID:301191 發表于 2022-2-28 15:53
頂一下
ID:997450 發表于 2022-2-28 08:12
TEC 發表于 2022-2-27 16:44
出現的是什么問題? 一般是先把串口配置好之后,SM0=0;SM1=1;再REN=1;,允許串口接收。

圖片發了,有沒有可能是編碼問題?我用的Keil
ID:625730 發表于 2022-2-27 16:44
出現的是什么問題? 一般是先把串口配置好之后,SM0=0;SM1=1;再REN=1;,允許串口接收。
ID:844772 發表于 2022-2-27 16:00
你沒弄清楚51 串口中斷要求,你收發都寫到一起了,造成中斷嵌套了。1、無論收發都會進中斷;2、發一般寫到主程序,包括TI清零;3、額外提醒,中斷中對RI要先判斷啊,否則發信觸發中斷也讀一遍成什么了。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表