在裸机上能够使用。使用临界区的方法能够得到第一次IIC数据,然后程序就会在这个线程卡住,也无法执行其他线程,想问怎么解决呢,有没有freertos使用模拟IIC的例子呢,谢谢
查看: 617
回复: 4
CH32V307使用freertos跑模拟IIC,模拟IIC中使用了Delay_Us,得不到IIC数据
热门产品 :
CH390:以太网控制器芯片
您好,目前没有相关例程,若你要在FreeRTOS下实现us级的延时,可以通过定时器TIMx自定义一个延时函数,可以实现较为准确的延时,使用应该是没问题的,后续若有问题,可通过邮箱(lzs@wch.cn)和我沟通。
所以CH32官方自带的delay_us函数在这里使用就是有问题的吗,我看stm32一直这样写的
把delay_us改掉就可以了
您好,@?-?,关于EVT FreeRTOS例程,vTaskDelay延时函数是使用Systick配置的,debug文件中的延时函数也是通过Systick配置的,FreeRTOS下一般建议直接使用vTaskDelay延时函数。关于模拟IIC,里面用到的延时应该都是几us级别的,但使用
vTaskDelay延时函数最低大概可以降到10us级别左右,因此此处建议直接用定时器TIMx自定义配置延时函数使用。后续沟通可通过邮箱(lzs@wch.cn)和我沟通。
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录