[应用相关]

晶振更换问题

[复制链接]
1409|20
手机看帖
扫描二维码
随时随地手机跟帖
CaLipton|  楼主 | 2018-3-23 17:20 | 显示全部楼层 |阅读模式
为什么stm8换了外部晶振,串口发送数据给单片机就没反应了?而断点调试一直在中断程序中循环。。。(晶振是正常的)
17371.png
57uuac.png
lihui567| | 2018-3-23 17:30 | 显示全部楼层
时钟设置是不是没设置好啊

使用特权

评论回复
Rospiers| | 2018-3-23 17:52 | 显示全部楼层
你可能用的是20X系列的吧,程序宏定义处改掉就好了,我们以前也是20X系列上的16MHz的晶振

使用特权

评论回复
Lewisnx| | 2018-3-23 18:01 | 显示全部楼层
先试一下这个
void SystemClock_Init(void)
{
  CLK_HSICmd(ENABLE);//启用内部高速时钟
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//配置HSI时钟分频系数为1,16MHZ供给CPU
      /* CLK_HSECmd(ENABLE);                     //外部时钟使能
      CLK_HSICmd(ENABLE);//开启内部高速时钟 16MHz
      CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);//时钟分频设置系统时钟16M不分频
      CLK_ClockSwitchCmd(ENABLE);
      CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE); */
}

使用特权

评论回复
CCompton| | 2018-3-23 18:22 | 显示全部楼层
你的单片机型号是多少?晶振焊接的是多少MHz的?

使用特权

评论回复
Richardd| | 2018-3-23 18:29 | 显示全部楼层
我也遇到过这种问题  请问怎么解决的?表示没有找到楼下说的宏定义

使用特权

评论回复
Mattheww| | 2018-3-23 18:48 | 显示全部楼层
在这个文件里,需要修改这个宏定义首先是你的单片机跑外部晶振默认的是24MHz才有必要去改,例如207系列的就是。如果不改,在串口通信中计算的波特率就不正确了
q02ea.jpg

使用特权

评论回复
Erichk| | 2018-3-23 19:02 | 显示全部楼层
在stm8sXXX.h文件里面

使用特权

评论回复
Thorald| | 2018-3-23 19:14 | 显示全部楼层
编译时时钟调成24M是什么意思?

使用特权

评论回复
Bjorn| | 2018-3-23 19:25 | 显示全部楼层
在stm8sXXX.h文件里面,有个时钟的定义,把16000000改为24000000

使用特权

评论回复
lzbf| | 2018-3-23 22:29 | 显示全部楼层
波特率变化了。

使用特权

评论回复
houjiakai| | 2018-3-23 22:29 | 显示全部楼层
以前的晶振是多大的?

使用特权

评论回复
youtome| | 2018-3-23 22:29 | 显示全部楼层
数据没有发送成功吗

使用特权

评论回复
cemaj| | 2018-3-23 22:30 | 显示全部楼层
这个串口配置正确了吗

使用特权

评论回复
jimmhu| | 2018-3-23 22:32 | 显示全部楼层
考虑硬件的问题。

使用特权

评论回复
lzbf| | 2018-3-23 22:32 | 显示全部楼层
修正波特率

使用特权

评论回复
houjiakai| | 2018-3-23 22:32 | 显示全部楼层
是波特率有问题了吗

使用特权

评论回复
youtome| | 2018-3-23 22:32 | 显示全部楼层
可能匹配有问题了。

使用特权

评论回复
cemaj| | 2018-3-23 22:32 | 显示全部楼层
考虑硬件的匹配问题了吗

使用特权

评论回复
jimmhu| | 2018-3-23 22:32 | 显示全部楼层
发送不要放在中断里面的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

126

主题

369

帖子

0

粉丝