由于ST芯片价格上涨,最近公司换了一批GD的芯片,但是在测试使用的过程中出现了一个问题一直困扰着我。
我们的产品是有指示灯的,当每次使用的时候,会有很大概率指示灯的闪烁频率变慢,大概是原来的1/10,数据通信异常。我们猜测是进入到了内部时钟,所以检查了晶振,重新用热风枪吹了吹加热。冷却后重新上电,大概率会正常工作,小概率保持慢频率,小概率出现的就继续吹,直到恢复正常为止。
这样过了一段时间(我们以为问题已经解决了),我们开始发给客户使用,接下来神奇的事情出现了,发到客户手里的产品几乎都再次出现了运行速度慢的问题,数据无法通信。我们让客户把产品发回来检查,可是发回来后我们上电测试又是正常的,这就非常奇怪,是什么导致了单片机的时好时坏呢?
如果这种问题不解决,那么我们将无法使用GD的芯片,所以昨天花了一天的时间去检查排除各个怀疑。就在我一筹莫展的时候,我发现了一个帖子(链接放在最后)其中有一条让我灵光一闪。
内容如下图
由于众所周知的原因GD的执行效率更快,也就是这个更快才是导致我使用GD芯片出现时好时坏的现象,晶振起振是有时间的,一般都在10ms以内,如果我的单片机执行效率更快,比晶振起振更快,那会不会直接跳转到内部时钟运行了呢,这个疑问留给大家去解答,我并没有去详细追究,但是让嵌入式去修改了宏定义后,问题是暂时解决了,至于还会不会出现这个问题,那就需要更长时间的检验,如果在相当长的一段时间内没有出现,那么我会回来告诉读者的。
最后也希望国内的用户用上越来约好的国产芯片。
图片原文链接:GD32 使用stm32 固件库
GD替换ST的芯片出现的运行速度慢的问题
最新推荐文章于 2024-04-21 22:54:59 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)