×
单片机 > 单片机程序设计 > 详情

STM32 获取寄存器的地址

发布时间:2020-08-28 发布时间:
|

如果需要使用TX1的DMA传输,就会涉及到配置DMA的外设地址。在这里,外设地址应该是USART1的DR寄存器的地址。可是如何获取该寄存器的地址呢?


现在实测了3种方式,都可以实现。


方法1:


直接查询手册中寄存器映像(map),USART1的DR地址为0x40013804


方法2:


手册中查看,DR寄存器的偏移地址为0X04,那么USART1的DR地址可以写成(USART1_BASE + 0X04)。


其中USART1_BASE在stm32f10xb.h中有定义

#define USART1_BASE           (APB2PERIPH_BASE + 0x00003800U)


方法3:


如果我们要修改DR的值为0X03,我们会写成:USART1->DR = 0X03,那么DR的地址就是(uint32_t)(&USART1->DR)


其中最后一种方法最讨巧,也最直观




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
采用AT89C2051的数字可调稳压电源单片机源程序