OpenEdv-开源电子网

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

大家帮我看一下这个串口2 的配置,现在输出是乱码,不知道什么原因

[复制链接]

213

主题

785

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2018-3-26
在线时间
292 小时
发表于 4 天前 | 显示全部楼层 |阅读模式
10金钱
  1. void uart_init2(u32 pclk2,u32 bound)
  2. {           
  3.         float temp;
  4.         u16 mantissa;
  5.         u16 fraction;          
  6.        
  7.         temp=(float)(pclk2*1000000)/(bound*16);//µÃµ½USARTDIV
  8.        
  9.         mantissa=temp;                                 //µÃµ½ÕûÊý²¿·Ö
  10.         fraction=(temp-mantissa)*16; //µÃµ½Ð¡Êý²¿·Ö         
  11.        
  12.     mantissa<<=4;
  13.         mantissa+=fraction;
  14.        
  15.         RCC->APB2ENR|=1<<2;   //&#202;&#185;&#196;&#220;PORTA&#191;&#218;&#202;±&#214;&#211;  
  16.         RCC->APB1ENR|=1<<17;  //&#202;&#185;&#196;&#220;&#180;&#174;&#191;&#218;&#202;±&#214;&#211;
  17.        
  18.         GPIOA->CRL&=0XFFFF00FF;//IO×&#180;&#204;&#172;&#201;è&#214;&#195;
  19.         GPIOA->CRL|=0X00008B00;//IO×&#180;&#204;&#172;&#201;è&#214;&#195;
  20.        
  21.         RCC->APB1RSTR|=1<<17;   //&#184;&#180;&#206;&#187;&#180;&#174;&#191;&#218;1
  22.         RCC->APB1RSTR&=~(1<<17);//&#205;&#163;&#214;&#185;&#184;&#180;&#206;&#187;                     
  23.        
  24.         //&#178;¨&#204;&#216;&#194;&#202;&#201;è&#214;&#195;
  25.         USART2->BRR=mantissa; // &#178;¨&#204;&#216;&#194;&#202;&#201;è&#214;&#195;         
  26.        
  27.         USART2->CR1|=0X200C;  //1&#206;&#187;&#205;&#163;&#214;&#185;,&#206;&#222;&#208;&#163;&#209;é&#206;&#187;.
  28.        
  29. #if EN_USART2_RX                  //&#200;&#231;&#185;&#251;&#202;&#185;&#196;&#220;&#193;&#203;&#189;&#211;&#202;&#213;
  30.         //&#202;&#185;&#196;&#220;&#189;&#211;&#202;&#213;&#214;&#208;&#182;&#207;
  31.         USART2->CR1|=1<<5;    //&#189;&#211;&#202;&#213;&#187;&#186;&#179;&#229;&#199;&#248;·&#199;&#191;&#213;&#214;&#208;&#182;&#207;&#202;&#185;&#196;&#220;       
  32.        
  33.         Tim2_Int_Init(99,7199);                                //10ms&#214;&#208;&#182;&#207;

  34.         TIM2->CR1&=~(1<<0);                                                //&#185;&#216;±&#213;&#182;¨&#202;±&#198;÷2
  35.        
  36.         MY_NVIC_Init(3,3,USART2_IRQn,2);//×é2&#163;&#172;×&#238;&#181;&#205;&#211;&#197;&#207;&#200;&#188;&#182;
  37. #endif
  38. }
复制代码

最佳答案

查看完整内容[请看2#楼]

解决了,36MHZ我写成32MHZ了
回复

使用道具 举报

213

主题

785

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2018-3-26
在线时间
292 小时
 楼主| 发表于 4 天前 | 显示全部楼层
caosix 发表于 2026-5-20 12:49
现在输出是乱码   ,  先 示波器 看看 波特率 正确 否 ??
剩下的 就是 【 程序逻辑 错误 造成 的  ...

解决了,36MHZ我写成32MHZ了
回复

使用道具 举报

91

主题

617

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2014-9-30
在线时间
172 小时
发表于 4 天前 | 显示全部楼层
现在输出是乱码   ,  先 示波器 看看 波特率 正确 否 ??
剩下的 就是 【 程序逻辑 错误 造成 的 “乱码” 】 。标准库 俺忘了 。

回复

使用道具 举报

213

主题

785

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2018-3-26
在线时间
292 小时
 楼主| 发表于 4 天前 | 显示全部楼层
caosix 发表于 2026-5-20 12:49
现在输出是乱码   ,  先 示波器 看看 波特率 正确 否 ??
剩下的 就是 【 程序逻辑 错误 造成 的  ...

波特率没有问题
回复

使用道具 举报

0

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2026-1-29
在线时间
22 小时
发表于 4 天前 | 显示全部楼层
本帖最后由 664929323 于 2026-5-20 16:42 编辑



        
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

如发现本坛存在违规或侵权内容, 请点击这里发送邮件举报 (或致电020-38271790)。请提供侵权说明和联系方式。我们将及时审核依法处理,感谢配合。

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

GMT+8, 2026-5-24 14:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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