![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
用STM32F103C8T6 做了个核心板,使用软件模拟IIC和12864的OLED屏幕通信,项目中使用CubeMX构建,添加了FreeRTOS。 配置有三个任务,其中,display 任务负责把CACHE中的数据不停的发送给屏幕, 其他二个任务负责给CACHE中写入数据 。 初始化以后,程序运行正确,画线条成功,大约画了40左右条线的时候,就会很慢,感觉象是很卡的样子。 DEBUG发现,这个时候,系统会卡在IIC_Stop 方法上面。。。 #define SCL_L HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_RESET) #define SDA_L HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_RESET) 大约是这二行上面,就不再继续 运行了。。。。 还请大神帮分析问题所在 |
评分
查看全部评分
评分
查看全部评分
使用硬件IIC的话,只怕是需要修改引脚了,但是,板子是别人做好的,引脚 不能修改,可有办法使用硬件IIC ?
IIC通信是会一直持续进行的,这个是由FreeRTOS调度的。我如何来做到禁止中断发生?
至少中断优先级改变一下
至于I2C问题,论坛问的人也不少了,可以搜索参考一下别人回复。同一问题,多次回答比较浪费资源。
评分
查看全部评分
评分
查看全部评分