請問下三模鍵盤demo里面的寄存器說明
RECVCMPSTA
RECVCMPSTACLR
為何開啟RF_RX后需要在中斷里查詢并清除RECVCMPSTA?
如果不做會怎樣
請問下三模鍵盤demo里面的寄存器說明
RECVCMPSTA
RECVCMPSTACLR
為何開啟RF_RX后需要在中斷里查詢并清除RECVCMPSTA?
如果不做會怎樣
1、大致描述下:這個(gè)中斷的目的是讓RF通訊保持穩(wěn)定,防止雙方通訊錯(cuò)序。
作用大概為:當(dāng)收不到對方心跳包數(shù)據(jù)時(shí),逐漸擴(kuò)大接收窗口進(jìn)行同步,說明此時(shí)對方設(shè)備可能是掉線了,也可能是通訊質(zhì)量較差。
2、查詢并清除RECVCMPSTA,就是清除中斷標(biāo)志位,不清他就會一直進(jìn)中斷,直到斷連為止,RECVCMPSTA置1的條件是收到對方發(fā)來的數(shù)據(jù)包或者是收到用于同步的心跳包,當(dāng)收到這包數(shù)據(jù)后,會將標(biāo)志位清0。
建議按照例程中的做法來,不要修改這個(gè)地方的處理。
一直進(jìn)中斷指的是庫內(nèi)部的中斷嗎?
如果是這樣的話,這設(shè)計(jì)就很奇怪了,某個(gè)中斷的狀態(tài)不在自己的中斷函數(shù)中處理而是由另一個(gè)中斷的服務(wù)程序清除。
之所以問到這里,是因?yàn)槲腋牧送教幚磉壿?,現(xiàn)在同步性很好,就是程序會隔一斷時(shí)間死機(jī)。。。
軟件中斷是寫在這個(gè)地方的,觸發(fā)方式↓