新手上路,在学习DMA的途中,遇到了一个问题:
我尝试用DMA做串口的发送处理[img]file:///C:UsersGoldAppDataRoamingTencentUsers812017077QQWinTempRichOle(MI`(2B$ARDI5MOVYII[WTB.png[/img],将上面的temp_buf数组的值传给USART1的数据寄存器,然后发送。
这一块是 我的DMA1_Stream6的初始化。
[img]file:///C:UsersGoldAppDataRoamingTencentUsers812017077QQWinTempRichOle(MI`(2B$ARDI5MOVYII[WTB.png[/img]
这一块是对USART1的初始化,可以确定的是USART1是可以用的,因为发送的这个语句可以用串口调试助手收到。
然后紧接着使能USART的发送DMA。
看了很多网上的例子,感觉这里似乎没有问题,然而编译以后并没有成功。我看了一下数据寄存器的值,理论上应该被赋值为200.然而却发现是0.
然后我尝试了一下直接对这个寄存器赋值,然后马上获取。
有没有大神能帮忙解释一下~ 感激不尽
一周热门 更多>