与龙共舞 发表于 2018-5-15 17:05:34

已解决: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:56:06

本帖最后由 Angel_YY 于 2018-5-16 13:59 编辑

与龙共舞 发表于 2018-5-16 13:30
哦 看来你的delay1000就是1S 没问题 我的是0.1S 还没找到原因看看你的keil设置看看



楼主修改仿真参数试试。按照12楼说的额。

す疯Ⅱ恒す 发表于 2018-5-15 18:09:45

KEIL的仿真时钟配置正常了么?是72Mhz么?你的时钟是72么?

z258121131 发表于 2018-5-15 17:59:21

是不是要确认下始终配置?

lospring 发表于 2018-5-15 20:47:50

本帖最后由 lospring 于 2018-5-15 20:49 编辑

这个要看时钟的吧,不同时钟和芯片每个指令的时间是不一样的。

Angel_YY 发表于 2018-5-15 20:58:06

STM32CubeMX配置STM32F103的默认频率是8M,不是最高的72M。如果这没有重新配置的话,就会产品延时不准的情况。

toofree 发表于 2018-5-16 00:59:36

本帖最后由 toofree 于 2018-5-16 12:43 编辑

把你的工程发上来。系统时钟是多少看了吗?

之前在标准库,无聊了也软件仿真,看过逻辑分析仪波形,未有你说的现象。

难道用了个HAL库就有问题了?不可思议。
还是用工程说话
(我的软仿真不知道怎么回事,在HAL_Delay前加断点停不住,只好在while处加的断点)




feixiang20 发表于 2018-5-16 02:33:28

修改下循环参数看看是否还是一样,HAL_Delay(500*1000)之类

MrJiu 发表于 2018-5-16 09:42:35

基本就是时钟问题啦,楼上的都说的差不多了!!!

任风吹吹 发表于 2018-5-16 09:55:57

用示波器量一下管脚的波形->如果波形翻转时间不是1S,代码问题(可能性不大); 如果确实1S--> KEIL调试时钟配置问题(这种可能性极大).

与龙共舞 发表于 2018-5-16 10:07:46

Angel_YY 发表于 2018-5-15 20:58
STM32CubeMX配置STM32F103的默认频率是8M,不是最高的72M。如果这没有重新配置的话,就会产品延时不准的情 ...

我是72M的 看看今天更新的连接 几分钟的视频
页: [1] 2
查看完整版本: 已解决:Keil在线仿真逻辑分析仪的问题