問題:想用I2c中斷的方式讀取磁編碼器,但是總是卡在 發(fā)送完7位地址后沒有再產(chǎn)生中斷;
看了看參考例程,沒有采用這個方式的,想不出問題在哪里了;
程序大概邏輯:
1、產(chǎn)生起始位;
2、起始位發(fā)送完中斷: 再發(fā)送7位地址
3、7位地址發(fā)送完中斷:發(fā)送首個數(shù)據(jù);? (此步總是未中斷)
用邏輯分析儀查看 已經(jīng)產(chǎn)生了地址應(yīng)答,但之后SLC一直處于低;
?程序運行上 表現(xiàn)為 只進(jìn)入了一次 起始位中斷,沒有再進(jìn)入 “7位地址發(fā)送完”中斷;
更新:查看了其他人關(guān)于?中斷的帖子;發(fā)現(xiàn)中斷聲明需要添加?void?I2C1_ER_IRQHandler(void)?__attribute__((interrupt("WCH-Interrupt-fast"))); 添加后就正常了
熱門產(chǎn)品 :
CH32X035: 32位USB+USB PD單片機