STM8S207使用外部24M晶振不起振的解决办法

具体表现:

1、使用 20M 的外部晶振,程序也能正常工作。

2、使用 24M 的外部晶振,就不能工作,经示波器测量,晶振没有起振。

3、为了去除晶振的原因,就换了一个 24M 的晶振,结果还是不行,可见应该不是晶振的问题。

4、去群里问,一个叫“碎片”的网友说,这是因为没有添加 FLASH 等待周期造成的。外部晶振大于16M 就得添加 FLASH 等待周期,虽然 20M 也能运行,但长时间运行会不稳定。

5、我按他的方法添加了 FLASH 等待周期,果然程序正常运行了,用示波器的 x10 档测量晶振,能看到很完美的正弦波。但开始用 x1 档,表笔一接触晶振引脚,程序就立即停止,考虑到是示波器的影响,就换成了 x10 档,果然能正常测量。

6、具体添加办法如下图,在STVD环境下,右击 No wait state 在弹出的菜单中,选择 1 wait state 就可以了,然后再烧录就正常了。



7、查找资料:

4.4.2  Memory access/ wait state configuration

The Flash/ data EEPROM access time allows the device to run atup to 16 MHz without wait states.

When using the high-speed external clock (HSE) at higher frequencies up to 24 MHz,one wait state is necessary. In this case the device option byte should be programmed to insert this wait state. Refer to the datasheet option byte section.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值