STM321F03的GPIO输出8mhz频率脉冲的问题。

2019-07-21 09:01发布

1、采用MCO方式,输出内部/外部时钟频率,该方法怎样去计算输出的脉冲数?定时器捕获?
2、采用定时器拉高拉低,但是我用定时器2定时,无论怎么设置重载值和预分频值,都不能讲频率拉高,最高到250KHZ,按道理讲,72MHZ/(ARR+1)*(psc+1),只要配置ARR和PSC不应该可以最高输出72MHZ的频率吗?(虽然GPIO最高速度是50MHZ)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
DreamWaterPro
1楼-- · 2019-07-21 12:36
wangmingwei093 发表于 2018-10-12 10:14
没查到您说的第二条,怎么用定时器对机器周期进行计数?

定时器用于计时的时钟源,根源上都是从机器周期,额这里我的表述不太合适,sysclk中分频出来的;所以可以将定时器的时钟的分频,设置和输出的时钟信号的分频一样,就可以实现对输出时钟信号的计数,可以参考时钟树: 1.png
wangmingwei093
2楼-- · 2019-07-21 13:14
1、刚才试了下,第二条,因为我的中断里还有6句话,判断、赋值等语句,这几条语句执行就需要1.5us左右时间,所以,即使设置最短中断时间,也需要2us所有的时间,所以,用定时器拉高拉低GPIO引脚是达不到想要频率的,不知道我理解的对不对。
2、MCO方式可以直接输出内部/外部时钟频率,那么有什么方法去计数呢?

正点原子
3楼-- · 2019-07-21 15:49
 精彩回答 2  元偷偷看……
DreamWaterPro
4楼-- · 2019-07-21 17:32
楼主第一条的理解我觉得是正确的。
第二条,有两个思想,一个是在外部硬件上将某个引脚设为输入并且连接到MCO上,通过外部中断来计数(输入捕获有点大材小用);另一个方法是使用定时器对机器周期进行计数,可以将定时器的预分频和MCO上的分频设置为一致。
wangmingwei093
5楼-- · 2019-07-21 20:44
正点原子 发表于 2018-10-12 02:21
最好用高级定时器的PWM来实现,高级定时器有个重复计数器,一定程度上,可以实现你的要求。

原子哥,刚刚试了下,PWM输出,当重载值小于100的时候,就是非50%的占空比时钟了,就是您说的一定程度上了,所以想要高速50%的占空比时钟就达不到要求了。
wangmingwei093
6楼-- · 2019-07-21 21:00
DreamWaterPro 发表于 2018-10-12 08:24
楼主第一条的理解我觉得是正确的。
第二条,有两个思想,一个是在外部硬件上将某个引脚设为输入并且连接到 ...

使用定时器对机器周期进行计数,定时器预分频和MCO分频设置为一致?我不是很理解,我查查怎么个原理。

一周热门 更多>