OpenEdv-开源电子网

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

复位之后怎么频率降了9倍

[复制链接]

22

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2012-8-24
在线时间
0 小时
发表于 2013-7-26 22:44:29 | 显示全部楼层 |阅读模式

有个奇怪的问题!
我写了个产生PWM方波的函数,
//定时器基本配置
 TIM4_TimeBaseStructure.TIM_Prescaler=0;//设置预分频值,在这里不分频
 TIM4_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上计数模式
 TIM4_TimeBaseStructure.TIM_Period=710;//设置自动从装载值
 TIM4_TimeBaseStructure.TIM_ClockDivision=0;//设置时钟分割,即采样分频,这里也不分频
 TIM_TimeBaseInit(TIM4,&TIM4_TimeBaseStructure);//根据上面指定的参数初始化TIM基本配置结构体
原子哥的代码,倍频到72MHz,然后应为自动重装载值为710,理论上得到的方波频率应该在72000000/711大约在100K附近。
我在mini开发板上测试,得到的是101.261KHz,复位之后还是如此,断电再上电也还是这么多。这是正常现象。
但是,在我自己做的板子上,照着mini板的图去做的,出来的结果却很是奇怪。程序下载进去,示波器测得f=101.253KHz。这是正常的,但当我按复位键后却变成了11.165KHz。再复位还是11.165。只有断电再上电才会恢复正常(此时用的是电脑USB口供电,用的是USB-232口。当我换成另一个USB供电后,就一直是11.165。也就是说,只有程序刚下进去的时候,或者通过USB-232断电再上电那个时候是正常的。其他时候都是不对的频率。
用跑马灯去测试也是,当程序刚下进去或通过USB-232上电的时候才是正常速度在跑,复位或通过其他方式上电跑马灯跑的就慢了下来,大约慢9倍,跟PWM输出波的频率差一样的节奏。
谁能告诉我,这是为什么?可能是哪里出了问题?

有进步就好!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-26 22:47:24 | 显示全部楼层
回复【楼主位】caoyicheng626:
---------------------------------
能不能仿真?
单步调试下看看,你这现象比较奇特啊.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-26 22:47:38 | 显示全部楼层
感情倍频没有搞上去.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

22

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2012-8-24
在线时间
0 小时
 楼主| 发表于 2013-7-27 11:30:40 | 显示全部楼层
回复【2楼】正点原子:
--------------------------------- 能不能仿真? 单步调试下看看,你这现象比较奇特啊.
---------------------------------

能仿真,我仿真的时候也是没有问题的。跑马灯实验,延时300ms。我仿真的时候是正常的,都是0.3s电平翻转一次的。
     原子哥指的仿真是应该如何测试呢?
   我觉得还是硬件上的问题。因为同一个程序,下到mini开发板上,一切正常。但是下到我的板子上就有问题。而且是这样子的:只有用串口USB下载进去才是正常的,或者用串口USB断电上电时才是正常的。
通过J-Link下载进去,程序跑起来就比正常降了约9倍,通过另外的USB供电或者从引MINI板的电源过来供电,也是慢了9倍的。用一键下载和J-Link下载都能下载程序,但是效果不一样。
    这个问题一直没想通。。。。
有进步就好!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-27 12:10:08 | 显示全部楼层
回复【4楼】caoyicheng626:
---------------------------------
就是仿真,看系统时钟,是不是72Mhz.
如果不方便,可以考虑用printf,打印相关寄存器值,判断问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

22

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2012-8-24
在线时间
0 小时
 楼主| 发表于 2013-7-28 17:15:32 | 显示全部楼层
回复【5楼】正点原子:
--------------------------------- 就是仿真,看系统时钟,是不是72Mhz. ---------------------------------
谢谢原子哥的回复!
你说的是硬件仿真还是软件仿真?
如何看系统时钟是不是72MHz呀?
有进步就好!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-28 19:00:53 | 显示全部楼层
回复【6楼】caoyicheng626:
---------------------------------
硬件仿真.
在MDK的Menu Bar里面,有个Peripherals,可以查看各种寄存器状态.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-16 04:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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