STM32
直播中

刘英

7年用户 1120经验值
私信 关注
[问答]

使用IAR+stlink开发stm8s105的程序,使用STVP烧写hex或者s19文件后,程序运行现象明显不一致是怎么回事?

使用IAR+stlink开发stm8s105的程序,直接使用IAR下载程序后运行正常,但是使用STVP烧写hex或者s19文件后,程序运行现象明显不一致。只要体现在延时上,正常延时1S的时候,使用STVP烧写情况下,延时时间明显变短,大概只有0.5秒;板子使用的内部晶振,没有外部晶振,不知道什么原因,希望大神不吝赐教!!!

回帖(1)

王萍

2024-5-9 16:51:13
这个问题可能是由于以下几个原因导致的:

1. 烧写参数不一致:使用STVP烧写和使用IAR直接下载可能使用了不同的烧写参数,这可能会导致程序运行时的行为有所不同。请检查STVP和IAR的烧写设置,确保它们之间的参数一致。

2. 时钟配置问题:您提到板子使用的是内部晶振,没有外部晶振。请检查您的程序中是否有对时钟配置的设置,确保STVP烧写和IAR直接下载时的时钟配置是一致的。

3. 延时函数实现不同:请检查您的程序中实现延时的函数,确保STVP烧写和IAR直接下载时使用的延时函数是相同的。如果使用了不同的延时函数,可能会导致延时时间不一致。

4. 编译器优化设置:IAR和STVP可能使用了不同的编译器优化设置,这可能会影响程序的运行行为。请检查IAR和STVP的编译器优化设置,确保它们之间的设置一致。

5. 固件版本不一致:请检查您使用的STVP和IAR的固件版本是否一致。不同版本的固件可能会导致程序运行行为的差异。

为了解决这个问题,您可以尝试以下步骤:

1. 确保STVP和IAR的烧写参数一致。
2. 检查时钟配置,确保两者一致。
3. 确保使用的延时函数相同。
4. 检查编译器优化设置,确保两者一致。
5. 更新固件版本,确保两者一致。

希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多关于您的程序和设置的详细信息,以便进一步分析。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分