|
我是用I2C和串口都用到了DMA,结果通道冲突了,然后我就加了互斥锁,且在串口或I2C外设使用DMA时就把所有用到这个DMA通道的外设都关闭了DMA功能,然后单独打开当前外设的DMA功能来使用。我是硬件I2C + DMA + 中断这么用的。 现在的问题是能用,串口和I2C都能用,就是用着用着会卡死,开了看门狗的,而且是不同任务的调用,且获取互斥锁是阻塞式的。我不知道是中断出问题了,还是因为频繁的切换DMA配置出问题了,因为每次调用都要更改DMA配置(内存地址、数据量、外设内存地址)。 |
STM32F3系列SDADC外部触发 DMA运输的bug
KEILMDK每次都要手动选Reset and Run吗 不然下载到板子上得重启电源才行 求解答
STM32F103的USB的虚拟串口,串口助手打开的时候会收到两条数据,第一条数据是前5秒串口助手未打开时发送的,这怎么解决?
询问电源纹波对芯片的影响
STM32F103C8T6 上电后无法通过串口发出数据的问题?
VL53L5CX无法使用
stm32f107裸机+HR911105A+lwIP 1.31 SYN发送失败的问题
MCU的ADC进行电压采集时,外部输入阻抗最大能到多少?
求问诡异的问题,eth网口ping不通
STM32F103C8T6如何将变量定义到指定地址
微信公众号
手机版
楼主我看了一下,串口2和I2C1是公用的,只能这样分时操作。建议选择其中一个用中断的方式操作吧。这样避免冲突。
换一个端口吧。