在裸機上能夠使用。使用臨界區(qū)的方法能夠得到第一次IIC數(shù)據(jù),然后程序就會在這個線程卡住,也無法執(zhí)行其他線程,想問怎么解決呢,有沒有freertos使用模擬IIC的例子呢,謝謝
您好,目前沒有相關(guān)例程,若你要在FreeRTOS下實現(xiàn)us級的延時,可以通過定時器TIMx自定義一個延時函數(shù),可以實現(xiàn)較為準(zhǔn)確的延時,使用應(yīng)該是沒問題的,后續(xù)若有問題,可通過郵箱(lzs@wch.cn)和我溝通。
所以CH32官方自帶的delay_us函數(shù)在這里使用就是有問題的嗎,我看stm32一直這樣寫的
把delay_us改掉就可以了
您好,@?-?,關(guān)于EVT FreeRTOS例程,vTaskDelay延時函數(shù)是使用Systick配置的,debug文件中的延時函數(shù)也是通過Systick配置的,F(xiàn)reeRTOS下一般建議直接使用vTaskDelay延時函數(shù)。關(guān)于模擬IIC,里面用到的延時應(yīng)該都是幾us級別的,但使用
vTaskDelay延時函數(shù)最低大概可以降到10us級別左右,因此此處建議直接用定時器TIMx自定義配置延時函數(shù)使用。后續(xù)溝通可通過郵箱(lzs@wch.cn)和我溝通。