硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4119|回复: 14
收起左侧

[有问必答] STM32F103 BSP 延时问题

[复制链接]

1

主题

8

回帖

27

积分

新手上路

积分
27
发表于 2018-8-9 11:28:09 | 显示全部楼层 |阅读模式
您好:
      用的STMF103C8, 用了bsp_timer, 里面的bsp_DelayMS, 延时函数,发现比设置延时要大很多啊。然后我在SysTick_ISR, 里面加了一个管脚翻转,用示波器测量,设置的1ms进一次,发现要将近10ms 才会进一次。是什么问题呢。多谢!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107418
QQ
发表于 2018-8-9 11:37:35 | 显示全部楼层
看下的晶振起振了没。有可能是内部RC振荡器在跑。
回复

使用道具 举报

1

主题

8

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2018-8-9 13:39:18 | 显示全部楼层
eric2013 发表于 2018-8-9 11:37
看下的晶振起振了没。有可能是内部RC振荡器在跑。

测了一下,确实没起振,这是为啥呢?有什么设置吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107418
QQ
发表于 2018-8-9 13:42:04 | 显示全部楼层
陈栋_j2St2 发表于 2018-8-9 13:39
测了一下,确实没起振,这是为啥呢?有什么设置吗?

硬件问题居多,单步调试,看看是不是HSE时钟没有成功开启。
回复

使用道具 举报

1

主题

8

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2018-8-9 13:47:49 | 显示全部楼层
eric2013 发表于 2018-8-9 13:42
硬件问题居多,单步调试,看看是不是HSE时钟没有成功开启。

好的。多谢
回复

使用道具 举报

1

主题

8

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2018-8-9 14:15:32 | 显示全部楼层

因为板子不是你们的,但是用的程序就可以晶振跑起来,现在CPU 是F103C8, 这有什么关系吗?
回复

使用道具 举报

1

主题

8

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2018-8-9 14:34:41 | 显示全部楼层
eric2013 发表于 2018-8-9 11:37
看下的晶振起振了没。有可能是内部RC振荡器在跑。

你们demo不是默认启动外部时钟吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107418
QQ
发表于 2018-8-9 14:36:53 | 显示全部楼层
这里下载个裸机例子,对比参考下:

http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

1

主题

8

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2018-8-9 14:58:31 | 显示全部楼层
eric2013 发表于 2018-8-9 14:36
这里下载个裸机例子,对比参考下:

http://www.armbbs.cn/forum.php?mod=viewthread&tid=11814&extra ...

用了“”V4-002_按键检测(抖动滤波、FIFO机制),这个例子,用示波器看的延时还是对不上。晕菜。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107418
QQ
发表于 2018-8-9 15:05:35 | 显示全部楼层
陈栋_j2St2 发表于 2018-8-9 14:58
用了“”V4-002_按键检测(抖动滤波、FIFO机制),这个例子,用示波器看的延时还是对不上。晕菜。

那就别全部移植了,需要那个功能,移植那个文件就好了。

此贴就交流这么多吧,基本上原因已经找到,剩下就是你解决下即可
回复

使用道具 举报

1

主题

8

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2018-8-9 15:19:13 | 显示全部楼层
eric2013 发表于 2018-8-9 15:05
那就别全部移植了,需要那个功能,移植那个文件就好了。

此贴就交流这么多吧,基本上原因已经找到,剩 ...

多谢。我再研究研究。
回复

使用道具 举报

1

主题

8

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2018-8-9 15:29:58 | 显示全部楼层
eric2013 发表于 2018-8-9 15:05
那就别全部移植了,需要那个功能,移植那个文件就好了。

此贴就交流这么多吧,基本上原因已经找到,剩 ...

还得打扰一下,现在晶振已经跑起来了,但是拿示波器量的 SysTick_Handler 还是要8MS 才能进去一次,设置是1ms,没有什么别的任务,不知道这个误差是正常的吗?谢谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107418
QQ
发表于 2018-8-9 15:44:00 | 显示全部楼层
陈栋_j2St2 发表于 2018-8-9 15:29
还得打扰一下,现在晶振已经跑起来了,但是拿示波器量的 SysTick_Handler 还是要8MS 才能进去一次,设置 ...

ST库里面有个RCC文件,有个函数是用于获取系统主频,看看主频对了没。对了的话再看别的原因。

回复

使用道具 举报

1

主题

8

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2018-8-11 15:42:59 | 显示全部楼层
eric2013 发表于 2018-8-9 15:44
ST库里面有个RCC文件,有个函数是用于获取系统主频,看看主频对了没。对了的话再看别的原因。

大神,定时对了,这串口2,和串口3 ,收发数据又不对了。PC 端发01 收显示7F,。串口1 打印正确啊。为什么就串口2,和3 不对呢。都是按照标准设的啊。以前用那个F4 也没这么费劲啊。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107418
QQ
发表于 2018-8-11 16:03:45 | 显示全部楼层
陈栋_j2St2 发表于 2018-8-11 15:42
大神,定时对了,这串口2,和串口3 ,收发数据又不对了。PC 端发01 收显示7F,。串口1 打印正确啊。为什么 ...

这个问题,看下串口配置可以解决的,基本都是配置问题。尝试自己解决下


这里有F4的,1,2,3,4,5,6同时工作的例子作为对比参考
http://www.armbbs.cn/forum.php?m ... highlight=1%2C2%2C3
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-30 18:47 , Processed in 0.276293 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表