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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 15847|回復: 0
打印 上一主題 下一主題
收起左側

調試STM8/stm32串口時發現的問題 一串數據接收只能接收2個字節

[復制鏈接]
跳轉到指定樓層
樓主
ID:60076 發表于 2014-5-5 13:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
描述:串口中斷1用來接收到的數據,我是用串口助手發送一個8字節的數據,然后我想查看8個字節是否被單片接收,比如數據是0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08這8個數值,串口中斷
  #pragma vector=ITC_IRQ_UART1_RX + 2   
    __interrupt voidUart1RxdInt(void)
    { //此函數內已完成清中斷標志
     u8 ret;
    if(UART1_GetFlagStatus(UART1_FLAG_RXNE)!=RESET)
    {
      tmp =UART1_ReceiveData8();
     
  ret=UART_KbdPkgRead(tmp);
if(ret==0)
{
KBD_Flag_RECE=1;
}
    }
    }
我在ret的地方設了個斷點,然后每次發送進入中斷的時候發現可以停止在那,并且此時接受的數據的確也是0x01,然后有全速運行,接受的數據也是0x02,在全速運行就可能又是0x01或者根本不會停下來,

此時我才知道我犯了一個錯誤,當發送一串數據時,斷點不應該設在中斷內,因為cpu在斷點停留處,她是不會停下的,也就是那串數據會被錯過,如果你發送一個數字,那就不會錯過了。
接下來該怎么辦呢?
進入中斷的函數,比如我的是UART_KbdPkgRead()。進入后可以編寫一個小程序,用來判斷接受得到數據是否是要發送的,比如if(dat==0x01),if(dat==0x02).這樣在他前邊設置斷點,用來判斷這一串數據是否被單片機接收到了。

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久精品国产 | 91九色视频| 蜜桃黄网 | 18gay男同69亚洲网站 | 亚洲成人午夜在线 | 天天摸天天干 | 国产精品久久国产精品 | 99免费精品视频 | 人人操日日干 | 日本字幕在线观看 | 亚洲精品在线视频 | 国产精品精品久久久 | 黑人粗黑大躁护士 | 久草热线 | 久久精品国产一区二区三区不卡 | 国产亚洲精品久久久优势 | 亚洲91| www日韩| 一级在线免费观看 | 国产日屁 | 国产精品久久久亚洲 | 久草网址 | 欧美高清dvd| 观看av | 婷婷久久久久 | 在线日韩av电影 | 激情五月婷婷综合 | www.99精品| av色站 | 久久综合av| 久久久久久成人 | 日韩高清国产一区在线 | 国产一区中文字幕 | 亚洲精品欧美一区二区三区 | 亚洲欧美视频一区 | 国产美女在线观看 | 久久成人亚洲 | 91国自视频 | 日韩成人精品一区二区三区 | 久久久久国产一级毛片高清网站 | 亚洲成人精品 |