找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

調(diào)試卡模擬程序時碰到的問題及解決方法

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-2-21 15:51 | 只看該作者 回帖獎勵 |正序?yàn)g覽 |閱讀模式
   運(yùn)行程序時,采用儀器截獲RFID讀卡器和卡之間的數(shù)據(jù),發(fā)現(xiàn)卡片沒有回復(fù)讀卡器數(shù)據(jù),問題需要進(jìn)一步細(xì)化,是卡片沒有收到數(shù)據(jù)還是卡片收到數(shù)據(jù)沒有回復(fù)。采用的方法是,讀卡器發(fā)送數(shù)據(jù)時,其中一個數(shù)據(jù)每次加一,而卡片收到讀卡器的數(shù)據(jù)時,從串口輸出接收的數(shù)據(jù)和發(fā)送的數(shù)據(jù),觀察到的現(xiàn)象是:讀卡器發(fā)出數(shù)據(jù)等待回復(fù),而卡片沒有回復(fù)?ㄆ@邊觀察到的現(xiàn)象時,卡片沒有收到數(shù)據(jù)因?yàn)榻邮諛?biāo)志寄存器沒有置位。增加一條讀卡片F(xiàn)IFO的測試指令,一旦報錯,馬上讀取FIFO的數(shù)據(jù)和標(biāo)志,檢查一下FIFO的空標(biāo)志位是否為1,為1則說明確實(shí)沒收到數(shù)據(jù),反之則表明有數(shù)據(jù)并讀出數(shù)據(jù)和卡片數(shù)據(jù)對比,讀取的結(jié)果是卡片收到了數(shù)據(jù)。
   問題就出現(xiàn)在下面的語句
    iqflag=TypeA_Flag;讀取中斷寄存器標(biāo)志
   TypeA_Flag = 0;//清中斷標(biāo)志
   卡片在輪詢該中斷寄存器時,會出現(xiàn)一種情況,寄存器的值讀出來了,然后清寄存器,在這期間又來了中斷,該中斷就會被清掉。
    改為如下語句后問題解決:
    iqflag =TypeA_Flag;
    TypeA_Flag &=(~iqflag);
編寫代碼時還是要嚴(yán)謹(jǐn)嚴(yán)謹(jǐn)再嚴(yán)謹(jǐn)呀!  

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

使用道具 舉報

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

本版積分規(guī)則

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

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

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