USART1+DMA

2019-07-20 02:57发布

本帖最后由 ZhLeLe 于 2019-3-25 11:24 编辑

在MAIN函数里面调用:HAL_UART_Transmit_DMA(&huart1, (uint8_t *)"DMA Begining ",sizeof("DMA Begining ")-1);可以在串口调试助手上看到输出信息;
但是调用:HAL_UART_Transmit_DMA(&huart1, pTxBuff,sizeof(pTxBuff)-1);就看不到输出信息了。
数组定义uint8_t pTxBuff[]={"DMA Begining "};


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
ZhLeLe
1楼-- · 2019-07-20 05:27
没人能回答这个问题吗?

ZhLeLe
2楼-- · 2019-07-20 05:56
函数原型为:HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
正点原子
3楼-- · 2019-07-20 10:08
 精彩回答 2  元偷偷看……
Psheng
4楼-- · 2019-07-20 12:34
这看着就是一样的。。。就是sizeof的对地址求大小应该是4
edmund1234
5楼-- · 2019-07-20 16:52
我猜是因为
uint8_t pTxBuff[]是某函数的局部变量, 然后你退出了该函数, 所以pTxBuff的内容已经被改变了
ZhLeLe
6楼-- · 2019-07-20 21:22
 精彩回答 2  元偷偷看……

一周热门 更多>