已解决:Keil在线仿真逻辑分析仪的问题
本帖最后由 与龙共舞 于 2018-5-16 15:12 编辑为了表达问题,cubemx做了一个小程序。程序很简单就是main函数下面死循环执行
while (1)
{
HAL_Delay(1000);
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
}
预计是1S时间翻转一次LED。因为 HAL_Delay是1ms基础。
但是逻辑分析仪看PB9的电平 基本是0.1S翻转一次呢
解决:
KEIL设置时钟72M改为8M
本帖最后由 Angel_YY 于 2018-5-16 13:59 编辑
与龙共舞 发表于 2018-5-16 13:30
哦 看来你的delay1000就是1S 没问题 我的是0.1S 还没找到原因看看你的keil设置看看
楼主修改仿真参数试试。按照12楼说的额。
KEIL的仿真时钟配置正常了么?是72Mhz么?你的时钟是72么? 是不是要确认下始终配置? 本帖最后由 lospring 于 2018-5-15 20:49 编辑
这个要看时钟的吧,不同时钟和芯片每个指令的时间是不一样的。 STM32CubeMX配置STM32F103的默认频率是8M,不是最高的72M。如果这没有重新配置的话,就会产品延时不准的情况。
本帖最后由 toofree 于 2018-5-16 12:43 编辑
把你的工程发上来。系统时钟是多少看了吗?
之前在标准库,无聊了也软件仿真,看过逻辑分析仪波形,未有你说的现象。
难道用了个HAL库就有问题了?不可思议。
还是用工程说话
(我的软仿真不知道怎么回事,在HAL_Delay前加断点停不住,只好在while处加的断点)
修改下循环参数看看是否还是一样,HAL_Delay(500*1000)之类 基本就是时钟问题啦,楼上的都说的差不多了!!! 用示波器量一下管脚的波形->如果波形翻转时间不是1S,代码问题(可能性不大); 如果确实1S--> KEIL调试时钟配置问题(这种可能性极大). Angel_YY 发表于 2018-5-15 20:58
STM32CubeMX配置STM32F103的默认频率是8M,不是最高的72M。如果这没有重新配置的话,就会产品延时不准的情 ...
我是72M的 看看今天更新的连接 几分钟的视频
页:
[1]
2