打印
[应用相关]

为什么stm8换了外部晶振,串口发送数据给单片机就没反应了?

[复制链接]
1230|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
而断点调试一直在中断程序中循环。。。

使用特权

评论回复
沙发
happy_10| | 2019-9-22 15:36 | 只看该作者
晶振是正常的?有图吗

使用特权

评论回复
板凳
juventus9554|  楼主 | 2019-9-22 15:40 | 只看该作者
是的

使用特权

评论回复
地板
juventus9554|  楼主 | 2019-9-22 15:41 | 只看该作者

使用特权

评论回复
5
xxrs| | 2019-9-22 15:54 | 只看该作者

时钟设置是不是没设置好啊

使用特权

评论回复
6
huanghuac| | 2019-9-22 15:54 | 只看该作者

妙招啊楼上
我还以为是焊到板子上来去不下来哦

使用特权

评论回复
7
zyf部长| | 2019-9-22 15:58 | 只看该作者
你可能用的是20X系列的吧,程序宏定义处改掉就好了,我们以前也是20X系列上的16MHz的晶振

使用特权

评论回复
8
happy_10| | 2019-9-22 16:03 | 只看该作者
先试一下这个
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); */
}

使用特权

评论回复
9
wenfen| | 2019-9-22 16:07 | 只看该作者

你的单片机型号是多少?晶振焊接的是多少MHz的?

使用特权

评论回复
10
tian111| | 2019-9-22 16:11 | 只看该作者
我也遇到过这种问题  请问怎么解决的?表示没有找到楼下说的宏定义

使用特权

评论回复
11
bqyj| | 2019-9-22 16:15 | 只看该作者
在这个文件里,需要修改这个宏定义首先是你的单片机跑外部晶振默认的是24MHz才有必要去改,例如207系列的就是。如果不改,在串口通信中计算的波特率就不正确了

使用特权

评论回复
12
bqyj| | 2019-9-22 16:18 | 只看该作者

使用特权

评论回复
13
zhuhuis| | 2019-9-22 16:22 | 只看该作者

在stm8sXXX.h文件里面

使用特权

评论回复
14
tian111| | 2019-9-22 16:27 | 只看该作者
编译时时钟调成24M是什么意思?

使用特权

评论回复
15
tian111| | 2019-9-22 16:31 | 只看该作者
在stm8sXXX.h文件里面,有个时钟的定义,把16000000改为24000000

使用特权

评论回复
16
songqian17| | 2019-9-22 16:34 | 只看该作者

波特率变化了。

使用特权

评论回复
17
tian111| | 2019-9-22 16:38 | 只看该作者
以前的晶振是多大的?

使用特权

评论回复
18
chenho| | 2019-9-22 16:42 | 只看该作者

数据没有发送成功吗

使用特权

评论回复
19
gongche| | 2019-9-22 16:49 | 只看该作者

这个串口配置正确了吗

使用特权

评论回复
20
happy_10| | 2019-9-22 16:53 | 只看该作者
考虑硬件的问题。

使用特权

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

本版积分规则

900

主题

12190

帖子

3

粉丝