OpenEdv-开源电子网

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

自己做的板子,用原子哥的串口程序读出来数据紊乱,求大家帮忙解决下

[复制链接]

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2013-4-15
在线时间
10 小时
发表于 2013-9-6 22:00:53 | 显示全部楼层 |阅读模式
首先我使用了原子哥的跑马灯程序是试了一下板子,刚开始发现程序卡死在了
void Stm32_Clock_Init(u8 PLL)
{
unsigned char temp=0;   
MYRCC_DeInit();  //复位并配置向量表
RCC->CR|=0x00010000;  //外部高速时钟使能HSEON
while(!(RCC->CR>>17));//等待外部时钟就绪
RCC->CFGR=0X00000400; //APB1=DIV2;APB2=DIV1;AHB=DIV1;
PLL-=2;//抵消2个单位
RCC->CFGR|=PLL<<18;   //设置PLL值 2~16
RCC->CFGR|=1<<16;  //PLLSRC ON 
FLASH->ACR|=0x32;  //FLASH 2个延时周期

RCC->CR|=0x01000000;  //PLLON
while(!(RCC->CR>>25));//等待PLL锁定
RCC->CFGR|=0x00000002;//PLL作为系统时钟  
while(temp!=0x02)     //等待PLL作为系统时钟设置成功
{   
temp=RCC->CFGR>>2;
temp&=0x03;
}    
}
等待
外部时钟就绪那句话中,然后我改了如下程序后跑马灯就能跑了,但跟原子哥比起来明显慢多了。感觉时钟有点问题
void Stm32_Clock_Init(u8 PLL)
{
unsigned char temp=0;   
MYRCC_DeInit();  //复位并配置向量表
RCC->CR|=0x00010000;  //外部高速时钟使能HSEON
while((RCC->CR>>17)&0X01);//等待外部时钟就绪
RCC->CFGR=0X00000400; //APB1=DIV2;APB2=DIV1;AHB=DIV1;
PLL-=2;//抵消2个单位
RCC->CFGR|=PLL<<18;   //设置PLL值 2~16
RCC->CFGR|=1<<16;  //PLLSRC ON 
FLASH->ACR|=0x32;  //FLASH 2个延时周期

RCC->CR|=0x01000000;  //PLLON
while((RCC->CR>>25)&0X01);//等待PLL锁定
RCC->CFGR|=0x00000002;//PLL作为系统时钟  
// while(temp!=0x02)     //等待PLL作为系统时钟设置成功
// {   
// temp=RCC->CFGR>>2;
// temp&=0x03;
// }    
}
然后试了一下串口实验,自己写了个不断发送0XAA的程序,发现打印出来的是0X00,程序应该是没问题,应该是硬件问题,但是哪里出了问题求大神指导下,谢了

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

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2013-9-6 22:09:10 | 显示全部楼层
回复 支持 反对

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2013-4-15
在线时间
10 小时
 楼主| 发表于 2013-9-6 22:45:26 | 显示全部楼层
回复【2楼】ricefat:
---------------------------------
我用那个原理图做过两块板子,一块行一块不行,我怀疑会不会是M3被我焊坏了,我刚才外部晶振那个电路也全部改了下,还是一样的情况。。
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2013-9-6 22:51:23 | 显示全部楼层
回复【3楼】怒撸STM32:
---------------------------------
如果片子能用 我觉得可能是虚焊了
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-9-4
在线时间
25 小时
发表于 2013-9-7 14:20:59 | 显示全部楼层
你初始化的时钟频率是多少,串口能通信但是接受不对的话,一般就是时钟问题了,你填的PLL是多少,你算波特率的时候用的频率是多少?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-13 13:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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