找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2742|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)串口怎么接受不到數(shù)據(jù)?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:149043 發(fā)表于 2023-5-19 10:01 來(lái)自觸屏版 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
void Usart() interrupt 4
{
    u8 receiveData;
    receiveData= Weight_Shiwu;
//     receiveData=SBUF;//出去接收到的數(shù)據(jù)
//    RI = 0;//清除接收中斷標(biāo)志位
    SBUF=receiveData;//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
    while(!TI);             //等待發(fā)送數(shù)據(jù)完成
    TI=0;                         //清除發(fā)送完成標(biāo)志位
   
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:149043 發(fā)表于 2023-5-19 10:14 來(lái)自觸屏版 | 只看該作者
void UsartInit()  {      SCON=0X50;            //設(shè)置為工作方式1      TMOD=0X20;            //設(shè)置計(jì)數(shù)器工作方式2      PCON=0X80;            //波特率加倍      TH1=0XF3;                //計(jì)數(shù)器初始值設(shè)置,注意波特率是4800的      TL1=0XF3;      ES=1;                        //打開(kāi)接收中斷      EA=1;                        //打開(kāi)總中斷      TR1=1;                    //打開(kāi)計(jì)數(shù)器  }
回復(fù)

使用道具 舉報(bào)

板凳
ID:861234 發(fā)表于 2023-5-19 12:17 | 只看該作者
通訊的要看2方設(shè)置和晶振
回復(fù)

使用道具 舉報(bào)

地板
ID:646520 發(fā)表于 2023-5-19 12:47 | 只看該作者
檢查下波特率和接線吧
回復(fù)

使用道具 舉報(bào)

5#
ID:596109 發(fā)表于 2023-5-19 13:11 | 只看該作者
查看一下初始化有沒(méi)有問(wèn)題,然后看看串口有沒(méi)有收到實(shí)際的數(shù)據(jù)
回復(fù)

使用道具 舉報(bào)

6#
ID:123289 發(fā)表于 2023-5-19 14:50 | 只看該作者
通訊是雙方的事,需要雙方滿(mǎn)足條件。單獨(dú)討論一方無(wú)意義。
回復(fù)

使用道具 舉報(bào)

7#
ID:149043 發(fā)表于 2023-5-19 15:05 來(lái)自觸屏版 | 只看該作者
yxtao 發(fā)表于 2023-5-19 13:11
查看一下初始化有沒(méi)有問(wèn)題,然后看看串口有沒(méi)有收到實(shí)際的數(shù)據(jù)

串口沒(méi)有收到數(shù)據(jù)
回復(fù)

使用道具 舉報(bào)

8#
ID:94031 發(fā)表于 2023-5-19 18:29 | 只看該作者
你的串口中斷只是發(fā)送,沒(méi)有接收。
回復(fù)

使用道具 舉報(bào)

9#
ID:1004455 發(fā)表于 2023-5-19 23:11 | 只看該作者
串口有沒(méi)有初始化,或者引腳接的不對(duì)
回復(fù)

使用道具 舉報(bào)

10#
ID:420836 發(fā)表于 2023-5-20 08:32 | 只看該作者
請(qǐng)讓我們看看設(shè)置和初始化串口的代碼。
回復(fù)

使用道具 舉報(bào)

11#
ID:1073939 發(fā)表于 2023-5-20 09:55 | 只看該作者

串口中斷的寫(xiě)法如圖所示。
如樓主只想把接收的數(shù)據(jù)轉(zhuǎn)發(fā)回去,SBUF = receiveData;此行注釋去除就行。
如果想正常使用串口發(fā)送,要添加如下代碼:
  1. //注意串口初始化要有TI=1;
  2. char putchar (char c)
  3. {
  4.         while(!TI);
  5.         TI=0;
  6.         SBUF = c;
  7.         return c;
  8. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

12#
ID:1074206 發(fā)表于 2023-6-1 08:25 來(lái)自觸屏版 | 只看該作者
波特率沒(méi)有設(shè)置對(duì),一般都是這種低級(jí)問(wèn)題
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表