OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8316|回复: 10

GD芯片定时器的怪现象:PSC 预分频器不起作用吗?

[复制链接]

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11473
金钱
11473
注册时间
2014-4-1
在线时间
1297 小时
发表于 2023-3-1 09:08:41 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 xuande 于 2023-3-1 10:00 编辑


GD32F470VIT6 芯片,用 IO 翻转的办法,配合示波器,简单测量定时器的时钟源的频率。
程序大概是这样:

PSC 赋值;
while(1)
      {
      IO翻转;
      定时器 CNT 清零,启动;
      while    ( CNT < 240 );
      }

根据电平的宽度和 PSC、"240" 这些数值,可以估算出时钟源的频率值。
测试 TIMER5,得到的频率居然是变化的,有时是 120MHz,有时是 240MHz,甚至 480MHz 。
TIMER11 也有类似的现象。

多次实验,发现问题这样描述更合适:PSC 不起作用,无论是 0、1、2 还是 59,只要阈值“240”不变,脉冲宽度就不变。

示波器没问题;观察 RCU 寄存器,没有变化。
是哪里的问题?










最佳答案

查看完整内容[请看2#楼]

今天再做实验。把控制寄存器 0 的 ARSE 位设置为 1 ,PSC 就正常运行了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11473
金钱
11473
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2023-3-1 09:08:42 | 显示全部楼层


今天再做实验。把控制寄存器 0 的 ARSE 位设置为 1 ,PSC 就正常运行了。

无标题.png




回复

使用道具 举报

11

主题

2130

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4724
金钱
4724
注册时间
2015-1-10
在线时间
590 小时
发表于 2023-3-1 16:06:45 | 显示全部楼层
你直接再定时器中断里面翻转电平看看,前段时间也用F470做设计,我遇到的是其他问题,最后换ST的了
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11473
金钱
11473
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2023-3-1 17:21:42 | 显示全部楼层

@阿侑kevin

我正用 GD32F470VIT6 替换 STM32F407VGT6。好奇你遇到啥问题?


回复

使用道具 举报

70

主题

6756

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12983
金钱
12983
注册时间
2012-11-26
在线时间
3787 小时
发表于 2023-3-1 17:52:25 | 显示全部楼层
直接开PWM更适合测吧
回复

使用道具 举报

11

主题

2130

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4724
金钱
4724
注册时间
2015-1-10
在线时间
590 小时
发表于 2023-3-2 08:59:23 | 显示全部楼层
xuande 发表于 2023-3-1 17:21
@阿侑kevin

我正用 GD32F470VIT6 替换 STM32F407VGT6。好奇你遇到啥问题?

PWM打开后,有相同复用功能的引脚会检测到脉冲,即使不复用引脚也会检测到
http://www.openedv.com/forum.php ... d=341811&extra=
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11473
金钱
11473
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2023-3-3 10:38:25 | 显示全部楼层
阿侑kevin 发表于 2023-3-2 08:59
PWM打开后,有相同复用功能的引脚会检测到脉冲,即使不复用引脚也会检测到
http://www.openedv.com/foru ...


多谢,看来要注意了。

不知道雅特立怎么样。


回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11473
金钱
11473
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2023-3-3 10:40:22 | 显示全部楼层
本帖最后由 xuande 于 2023-3-3 10:46 编辑


今天用 timer6 做实验。同样做自由定时器,用观察 CNT 值的方法翻转 IO 电平,那么 PSC 同样不起分频作用,等同于直通。

但是,如果打开中断,在中断里翻转 IO,这时 PSC 能正常起作用,输出波形的宽度正常。






回复

使用道具 举报

70

主题

6756

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12983
金钱
12983
注册时间
2012-11-26
在线时间
3787 小时
发表于 2023-3-3 13:20:19 | 显示全部楼层
xuande 发表于 2023-3-3 10:40
今天用 timer6 做实验。同样做自由定时器,用观察 CNT 值的方法翻转 IO 电平,那么 PSC 同样不起分频作用 ...

我觉得不是PSC有问题   是你测试方法有问题,指令也需要执行时间   你的240这个数据,或许在指令面前,已经不是一个因素了。
学无止境
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2023-3-7 23:38:20 | 显示全部楼层
xuande 发表于 2023-3-6 10:28
今天再做实验。把控制寄存器 0 的 ARSE 位设置为 1 ,PSC 就正常运行了。

gd的价格好么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11473
金钱
11473
注册时间
2014-4-1
在线时间
1297 小时
 楼主| 发表于 2023-3-8 11:57:48 | 显示全部楼层


GD32F470,主频240MHz,内部RAM大概700KB,FLASH大概一两兆,零售价格是 39 。

肯定比ST407好。

回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 17:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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