OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1758|回复: 2

stm32F1串口4寄存器操作的bug

[复制链接]

13

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
306
金钱
306
注册时间
2018-3-5
在线时间
70 小时
发表于 2018-12-31 10:22:09 | 显示全部楼层 |阅读模式
本帖最后由 sbkd123 于 2018-12-31 10:28 编辑

串口4仿照例程操作不能工作,经反复调试终于发现解决办法。直接上程序。[mw_shl_code=c,true]void UART4_Init(u32 pclk1,u32 bound)
{           
        float temp;
        u16 mantissa;
        u16 fraction;
  uint32_t usartxbase = USART1_BASE+0x14;//USART1->CR3地址
          USART1->CR1 |= 0x4;                      //打开了USART1的RX
        *(__IO uint32_t*)usartxbase  |= 0x20;//打开了USART1的RXNE
        
        temp=(float)(pclk1*1000000)/(bound*16);//得到USARTDIV
        mantissa=temp;                                 //得到整数部分
        fraction=(temp-mantissa)*16; //得到小数部分         
  mantissa<<=4;
        mantissa+=fraction;
                 
        RCC->APB2ENR|=1<<4;           //使能PORTC口时钟
        RCC->APB1ENR|=1<<19;          //使能串口4时钟
        
        GPIOC->CRH&=0XFFFFF0FF;
        GPIOC->CRH|=0X00000B00;
        GPIOC->CRH&=0XFFFF0FFF;
        GPIOC->CRH|=0X00004000;
        
        MY_NVIC_Init(0,0,UART4_IRQn,4);//组4,最低优先级
        
        RCC->APB1RSTR|=1<<19;   //复位串口4
        RCC->APB1RSTR&=~(1<<19);//停止复位        
        
        UART4->CR1|=0X0C;          //1位停止,无校验位.
#ifdef EN_USART4_RX                          //如果使能了接收
        //使能接收中断  
        UART4->CR1|=1<<8;            //PE中断使能
        UART4->CR1|=1<<5;            //接收缓冲区非空中断使能
        UART4->CR1 |= 0x20;

#endif
        UART4->BRR=mantissa;         // 波特率设置
        
  UART4->CR1 |= 0x2000;
}[/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
306
金钱
306
注册时间
2018-3-5
在线时间
70 小时
 楼主| 发表于 2018-12-31 10:23:32 | 显示全部楼层
6,7,8行操作了串口1,但是不加这三行,串口4就不能运行。个人认为是bug。还请高手指点。
回复 支持 反对

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10572
金钱
10572
注册时间
2017-2-18
在线时间
1914 小时
发表于 2018-12-31 16:49:14 | 显示全部楼层
帮顶~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 23:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表