STM32
直播中

王兰

13年用户 1675经验值
擅长:基础元器件
私信 关注
[问答]

从Memory往串口2发送数据出现问题怎么解决?

从Memory往串口2发送数据出现问题怎么解决?

回帖(1)

廖丽霞

2021-10-12 11:31:37
  在学习用DMA从Memory往串口发送数据时;
按照火哥的视频野火F103霸道/指南者视频教程讲解成功实现从Memory往串口1的数据发送;
但是我想试试往串口2发送时出了问题;
在bsp_dma_m2p.h中把串口1改成2;
对应的时钟也改掉;
还有GPIO管脚改掉;
还有DMA的通道改掉;
最后把硬件连接也改好;
  测试;
失败!
  后来找了半天bug;
串口的DR寄存器地址没改!!
可是明明数据手册上写着

  

  

它也没写成数据寄存器(USARTx_DR)啊!!
这样我就以为所有USART都是一个基地址了;
之前学习GPIO时人家是这么写的

  

  

谁知道两个串口的基地址还不一样呢;啊啊啊啊a!!!!

  #define  USART_DR_ADDRESS        (USART1_BASE+0x04)   改成
  #define  USART_DR_ADDRESS        (USART2_BASE+0x04)   就测试成功了;
不过呢;也不能怪人家;想想也知道,这几个串口要是共用一个DR寄存器的话,那岂不是数据乱发了;
还是自己学习不够细心!
也希望别的新手注意一下 ;
不要犯同样的错误了;
举报

更多回帖

发帖
×
20
完善资料,
赚取积分