关于STM32寄存器配置串口的问题
时间:10-02
整理:3721RD
点击:
配置串口1输出一个字符,但是没有效果请大神指导一下
- #include "stm32f10x.h"
- void Usart_Init()
- {
- RCC->APB2ENR|=0x40000000;
- RCC->APB2ENR|=0X00000004;
- GPIOA->CRH&=0xFFFFF00F;
- GPIOA->CRH|=0x000008B0;
-
- RCC->APB2RSTR|=1<<14; //复位串口1
- RCC->APB2RSTR&=~(1<<14);//停止复位
-
- USART1->BRR=0X1D4C;
-
- USART1->CR1|=0X0000200C;
- }
- int main()
- {
- Usart_Init();
- while(1)
- {
- USART1->DR='Y';
- while((USART1->SR&0X40)==0);
- while(1);
-
- }
- }
RCC->APB2ENR|=0x40000000;?要使能串口?
RCC->APB2ENR|=1<<14;
或者
RCC->APB2ENR|=0x00004000;
还有看看波特率咋算 有没有算错
其实吧寄存器了解会用就成 用库函数就没这种错
谢谢,这里的错误发现了。修改过来效果一样。就几句找这个问题找的心都碎了
还是用库函数吧,这数字看着就头大,一个个的去对寄存器表太麻烦了。用库函数不会出现这种问题的。