你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

神舟王例程问题

[复制链接]
飞儿 提问时间:2014-10-29 15:33 /
上次的问题还没解决,这次我又来了,我们应该不断往正确道路发展,好了不啰嗦,上主题:
例程TIM5定时器,神舟大神们说了,这是1s中断一次,不过大家可别被这1秒欺骗喽,实际是0.5s的!!!!!!
不信你可以试试看,我的做法是这样的:
定时器中断程序里面不是打印两句嘛,也就是没中断一次就会打印一次 counter就++
那好 我就拿出秒表计时呗,当counter打印出20的时候,我以超越光速的速度按下了计时键,得到时间T0,接下来就等counter等于30的时候,我再次按下计时键,得到时间T1。然后就是40,T2,50,T3,60,T4.......   结果出来了T1-T0=T2-T1=T3-T2=T4-T3=5秒  而counter每次都打印10次  也就是说中断了10次,得出结果每次中断0.5s,而不是神舟用户手册里说的1s中断一次

收藏 评论12 发布时间:2014-10-29 15:33

举报

12个回答
飞儿 最优答案 回答时间:2015-1-6 16:35:36
没错,是0.5s中断一次的:   外部晶振25M  用神舟 的system_stm32f4xx.c文件 生成的PCLK1是42MHZ的(用RCC_GetClocksFreq(&Sysclock);函数读取时钟), 而TIM时钟是二倍频的84MHZ,  加上配置:

TIM_Period = (10000 - 1);
TIM_Prescaler  = (4500 - 1);
中断一次的时间就是:  10000/(84M/4500) 约等于 0.5s
飞儿 回答时间:2014-10-29 17:03:28
继续研究例程中。。。。。。。。
飞儿 回答时间:2014-10-30 09:23:08
一直未找到原因,有木有人跟我一样的情况。。。。。。。。。。。。
废鱼 回答时间:2014-10-30 09:30:37
把配置发一下,我看看到底是什么情况。
飞儿 回答时间:2014-10-30 17:10:57
安 发表于 2014-10-30 09:30
把配置发一下,我看看到底是什么情况。

哎呀!那是原原本本的例程呢 我一字未动呢  就是不能上传,发个截图吧
飞儿 回答时间:2014-10-30 17:12:36
算了,我上传到百度网盘吧
飞儿 回答时间:2014-10-30 17:19:13
上传中,先给个图片

setsysclock

setsysclock

神舟的文件列表

神舟的文件列表

时钟初始化

时钟初始化

TIM5

TIM5
飞儿 回答时间:2014-10-30 17:29:07
https://pan.baidu.com/s/1mgC6UsK  百度网盘 整个工程包
飞儿 回答时间:2014-11-1 09:50:14
今天再来一次,没什么遇到和我一样的情况吗?       看了半天感觉神舟的算法并没有错的样子,但是为什么时间就快了一倍了呢?难道和启动模式有关,~~~~(>_<)~~~~ 求个站长解释
飞儿 回答时间:2014-11-1 09:53:14
等有时间 拿个示波器来测测 ,我就不信了,别是神舟算法有问题就行!
废鱼 回答时间:2014-11-6 14:42:37
    TIM_TimeBaseStructInit(&TIM_TimeBaseInitStruct);
    TIM_TimeBaseInitStruct.TIM_Period =60000;           //TIM update rate =TIM counter clock/TIM_Period =6MHz/60000=100Hz   
    TIM_TimeBaseInitStruct.TIM_Prescaler =1001;           //TIM counter clock =TIMxCLK/(Prescaler +1) =72MHz/12=6MHz      
    TIM_TimeBaseInitStruct.TIM_ClockDivision = 0;       //时钟倍频  
    TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up;  //计数方向向上计数
    TIM_TimeBaseInit(TIM4, &TIM_TimeBaseInitStruct);   
试试我的代码
飞儿 回答时间:2014-11-6 19:28:10
安 发表于 2014-11-6 14:42
TIM_TimeBaseStructInit(&TIM_TimeBaseInitStruct);
    TIM_TimeBaseInitStruct.TIM_Period =60000;   ...

恩,小问题而已,改天试一试,只是希望神舟能够重视一下,是否是例程的问题我不在乎,只要我发的500多块大洋买的板子没问题就行!

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版