你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
在测试串口发送函数HAL_UART_Transmit_DMA(UART_HandleTypeDef huart, uint8_t pData, uint16_t Size) 时,发现不能对pData赋值后发送,求原因!
举报
HAL_UART_Transmit_DMA和printf发送有冲突吧
STMWoodData 发表于 2021-11-12 09:20 HAL_UART_Transmit_DMA和printf发送有冲突吧
1.去掉printf,也不输出!
2.printf用的是轮询语句,占用的是cpu资源,而dma数据传输时,没有用到cpu资源。两者在资源抢夺上没有冲突。
xmshao 发表于 2021-11-12 10:48 结合你的描述,你现在即使不开启基于DMA的uart发送,你的printf依然没有输出。不知你调用的AL_UART_Transmi ...
楼主请先确认一下收到数据个数是不是在增加,如果是增加,修改一下代码,把(uin8_t )&ch中的(uin8_t )去掉,直接&ch就行了。
试过,还是不行
楼主,是否可以仿真,仿真模式下试一下能不能进入这个函数。
HAL_UART_Transmit_DMA和printf发送有冲突吧
1.去掉printf,也不输出!
2.printf用的是轮询语句,占用的是cpu资源,而dma数据传输时,没有用到cpu资源。两者在资源抢夺上没有冲突。
楼主请先确认一下收到数据个数是不是在增加,如果是增加,修改一下代码,把(uin8_t )&ch中的(uin8_t )去掉,直接&ch就行了。
试过,还是不行
楼主,是否可以仿真,仿真模式下试一下能不能进入这个函数。