找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2021|回復(fù): 7
收起左側(cè)

C51單片機(jī)串口通訊num不賦值為什么一直發(fā)送00 00 00,num換個值比如3,就一直不停的發(fā)3

[復(fù)制鏈接]
ID:1067311 發(fā)表于 2023-3-22 08:59 | 顯示全部樓層 |閱讀模式

單片機(jī)代碼如下,發(fā)送不停,發(fā)送不受控制,發(fā)送函數(shù)只運(yùn)行了一次

#include <REGX51.H>

unsigned char num;

void URET_TX()
{               SBUF=num;         //發(fā)送數(shù)據(jù)
                      while(!TI);//等待發(fā)送中斷請求標(biāo)志位為1(已發(fā)送)
                                        TI=0;                //發(fā)送中斷請求標(biāo)志位清0


        }

void URET_Tu(void)                //4800bps@11.0592MHz
{
  PCON &= 0x7F;                //波特率不倍速
        SCON = 0x50;                //8位數(shù)據(jù),可變波特率
        TMOD &= 0x0F;                //清除定時器1模式位
        TMOD |= 0x20;                //設(shè)定定時器1為8位自動重裝方式
        TL1 = 0xFA;                //設(shè)定定時初值
        TH1 = 0xFA;                //設(shè)定定時器重裝值
        ET1 = 0;                //禁止定時器1中斷
        TR1 = 1;//啟動定時器
}

void main(void)
{
        URET_Tu();

                          URET_TX();
                              
}

1.png
回復(fù)

使用道具 舉報(bào)

ID:844772 發(fā)表于 2023-3-22 10:21 | 顯示全部樓層
你把 while(!);放到最后,就只發(fā)一次了。
回復(fù)

使用道具 舉報(bào)

ID:1067760 發(fā)表于 2023-3-22 13:38 | 顯示全部樓層
樓上說的對,URET_TX();后面加個while(1); 重復(fù)發(fā)數(shù)據(jù)是因?yàn)閁RET_TX();執(zhí)行完,后面沒有程序了,跑飛復(fù)位了
回復(fù)

使用道具 舉報(bào)

ID:1034262 發(fā)表于 2023-3-22 14:16 | 顯示全部樓層
連大循環(huán)都沒有?那就是這樣了,不斷重復(fù)的運(yùn)行main()。
回復(fù)

使用道具 舉報(bào)

ID:807182 發(fā)表于 2023-3-22 14:37 | 顯示全部樓層
程序一直在運(yùn)行main函數(shù),一直在發(fā)送數(shù)據(jù),所以就一直接收數(shù)據(jù)了,如果想執(zhí)只發(fā)一次,就把程序修改為void main(void)
{
       URET_Tu();
       while(1)
        {URET_TX();}                          
}
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2023-3-22 16:23 | 顯示全部樓層
無論你賦值與否,它總有一個值,是什么?取決于上最的狀態(tài)或初始化值。
所以發(fā)0,不必奇怪。
回復(fù)

使用道具 舉報(bào)

ID:1067311 發(fā)表于 2023-3-22 16:54 | 顯示全部樓層
放大循環(huán)里面也不行,for循環(huán)也不行,是不是看門狗的原因
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2023-3-22 17:58 | 顯示全部樓層
main最后一行后面沒有死循環(huán),死機(jī)了,自動復(fù)位,又重新執(zhí)行了main。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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