久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)串口數(shù)據(jù)接收程序問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1060138 發(fā)表于 2023-1-20 17:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
想要實現(xiàn)串口從上位機(jī)接收到的數(shù)據(jù)一個一個存入數(shù)組中,
但是經(jīng)過測試,數(shù)據(jù)只能存到數(shù)組的第一位中,而且RI=0所在位置不同,存入內(nèi)容長短不同


void UART1_Isr() interrupt 4
{
        if(RI==1)
        {
                Data=SBUF;
                if(Data!='\0')
                {Sbuf[i++]=Data;}
               
                uart_send(Sbuf[0]);
                uart_string(Sbuf);RI=0;

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:232462 發(fā)表于 2023-1-21 20:11 | 只看該作者
你的程序不完整。而且發(fā)送的程序不要在中,有可能造成數(shù)據(jù)沒發(fā)送完又收到新的數(shù)據(jù),會丟數(shù)據(jù)。
中斷只負(fù)責(zé)把數(shù)據(jù)送人緩沖區(qū),其他處理在主函數(shù)。
回復(fù)

使用道具 舉報

板凳
ID:883242 發(fā)表于 2023-1-23 11:18 | 只看該作者
代碼不全無法分析,i怎么定義的,代碼后面如何處理i的?
回復(fù)

使用道具 舉報

地板
ID:824490 發(fā)表于 2023-1-26 18:01 | 只看該作者
Sbuf[i++],,這個i是全局變量,該不會是被其它函數(shù)修改了吧?
全局變量最好能起個有意義的、個性的名字,不然有可能會被誤操作,我看用rxd_count就不錯
接收數(shù)據(jù)的數(shù)組Sbuf,盡量不要用系統(tǒng)關(guān)鍵字SBUF,雖然KEIL大小寫不一樣,你無法保證會不會被誤操作,你看rxd_arr[]如何?
起名字是個學(xué)問~~好聽、好拼寫、還要有意義,英文簡寫或漢語拼音都可以啊。不用這么懶吧?
回復(fù)

使用道具 舉報

5#
ID:401564 發(fā)表于 2023-2-9 23:58 | 只看該作者
當(dāng)初學(xué)ModBus的時候?qū)懙?代碼不怎么好,但也算是正確,你參考一下
void Uart1_Isr() interrupt 4                                                //串口1中斷函數(shù)
{
        static unsigned RX_Count=0;                                                //接收到的字節(jié)數(shù)
        if(TI)                                                                                          //發(fā)送中斷
                   {                          
                         TI=0;                                          
                        busy=0;                  
                }
        //────────────────────────────────────────────────────
        if(RI)                                                                                        //接收中斷
                {       
                        RI=0;                                               
                        if((New_Cmd))                                                        //新命令
                           {
                                        New_Cmd=0;                                                //新命令標(biāo)志位清除       
                                        TR0 = 1;                                                //接收到串口信號后,定時器0開始計時       
                                        RX_Count=0;                                                //重新指定指針位置
                                        Buffer0.cnt_Byte=0;                                //接收字節(jié)數(shù)清除                                                                       
                                }
                        Buffer0.buf_uart[RX_Count]=SBUF;                //把接收到的數(shù)據(jù)保存
                        RX_Count++;                                                                //數(shù)組指針加1
                        Buffer0.cnt_Byte++;                                                //接收字節(jié)數(shù)+1
                        T0_1ms_uart=0;                                                        //接收完一個字節(jié)數(shù)據(jù),重新計時                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
                }
        //───────────────────────────────────────────────────────────                                                       
}

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产午夜精品一区二区三区四区 | 九九九视频在线 | 九九热精品在线 | 久久高潮| 国产亚洲黄色片 | 国产成人精品av | 国产成人网| 日日天天| 免费看国产精品视频 | 天堂一区二区三区四区 | 99pao成人国产永久免费视频 | 久久99精品国产自在现线小黄鸭 | 亚洲精品www | 99这里只有精品 | 一区二区三区视频在线免费观看 | 成人免费网站在线 | 一区二区三区国产好的精 | 欧美一区二区三区在线观看 | 一级黄色录像片子 | 黄色香蕉视频在线观看 | 国产欧美精品一区二区三区 | 自拍在线 | 久久国产高清 | 皇色视频在线 | 最新中文字幕在线 | 成人久久久 | 欧美成人综合 | 亚洲精品成人免费 | 在线观看国产91 | 欧洲一区二区在线 | 91社区视频 | 成av人电影在线 | 在线视频日韩精品 | 亚洲精品字幕 | 亚洲精品久久久一区二区三区 | 久久男人| 久久成人国产 | 久久国产精品偷 | 国产精品 亚洲一区 | 中文久久 | 久久成人精品视频 |