亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

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

QQ登錄

只需一步,快速開始

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

調(diào)試STM8/stm32串口時(shí)發(fā)現(xiàn)的問題 一串?dāng)?shù)據(jù)接收只能接收2個(gè)字節(jié)

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

此時(shí)我才知道我犯了一個(gè)錯(cuò)誤,當(dāng)發(fā)送一串?dāng)?shù)據(jù)時(shí),斷點(diǎn)不應(yīng)該設(shè)在中斷內(nèi),因?yàn)閏pu在斷點(diǎn)停留處,她是不會(huì)停下的,也就是那串?dāng)?shù)據(jù)會(huì)被錯(cuò)過,如果你發(fā)送一個(gè)數(shù)字,那就不會(huì)錯(cuò)過了。
接下來該怎么辦呢?
進(jìn)入中斷的函數(shù),比如我的是UART_KbdPkgRead()。進(jìn)入后可以編寫一個(gè)小程序,用來判斷接受得到數(shù)據(jù)是否是要發(fā)送的,比如if(dat==0x01),if(dat==0x02).這樣在他前邊設(shè)置斷點(diǎn),用來判斷這一串?dāng)?shù)據(jù)是否被單片機(jī)接收到了。

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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