我是用I2C和串口都用到了DMA,结果通道冲突了,然后我就加了互斥锁,且在串口或I2C外设使用DMA时就把所有用到这个DMA通道的外设都关闭了DMA功能,然后单独打开当前外设的DMA功能来使用。我是硬件I2C + DMA + 中断这么用的。 现在的问题是能用,串口和I2C都能用,就是用着用着会卡死,开了看门狗的,而且是不同任务的调用,且获取互斥锁是阻塞式的。我不知道是中断出问题了,还是因为频繁的切换DMA配置出问题了,因为每次调用都要更改DMA配置(内存地址、数据量、外设内存地址)。 |
stm32进入stop模式被莫名其妙唤醒(应该是systick)但是无法被WKUP引脚唤醒。
DMA发送函数只能被调用一次
STM32L431进入STOP1模式后ADC产生多余功耗
头文件找不到
软件为keil5,头文件未找到
通过FATFS文件系统读写SD卡创建文件可以了,但加入MSC,一直显示一个没有格式化的U盘盘符,也不能格式化,这是什么问题导致的
stm32f103汇编求助
cubemx 生成的freertos代码 在keil ac6下不能编译,有什么解决的方法吗
报错Could not determine GDB version using command: arm-none-eabi-gdb --version
stm32f107vct6配RTL8201例程
楼主我看了一下,串口2和I2C1是公用的,只能这样分时操作。建议选择其中一个用中断的方式操作吧。这样避免冲突。
换一个端口吧。