打印

stm32 事件脉冲如何输出到GPIO口上

[复制链接]
10072|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
幽蓝|  楼主 | 2012-3-27 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定时器溢出时会产生中断和事件,怎么把事件的脉冲 输出到gpio口呢?这样做可以不用中断(软件)的方法在程序产生脉冲。库函数里只有
GPIO_EventOutputConfig(GPIO_PortSourceGPIOA, GPIO_PinSource10);
GPIO_EventOutputCmd(ENABLE);
10脚也设置复用输出。
定时器产生中断了,但10脚没反应
沙发
airwill| | 2012-3-27 16:31 | 只看该作者
有意思的功能, 资料也没有说得很详细,
1. 是不是GPIO 不是用 AF 输出呢?
2. 或者因为事件的有效时间太短, IO 口响应不了, 要不你再把 TIM 的时钟源增加分频.

使用特权

评论回复
板凳
幽蓝|  楼主 | 2012-3-27 16:50 | 只看该作者
谢谢关注!
OUT_pp 也没效果;TIM溢出是360hz输出。
几乎没有资料介绍:dizzy:

使用特权

评论回复
地板
香水城| | 2012-3-27 17:55 | 只看该作者
1)什么型号?
2)GPIOA的时钟开了吗?
3)为什么不直接用TIM的PWM输出功能?

使用特权

评论回复
5
幽蓝|  楼主 | 2012-3-27 22:49 | 只看该作者
1.stm32F103C8
2.时钟开了,中断程序里面改写A9口都有输出
3.用PWM方式也没问题,TIM2_CH2有输出;偶尔看到可以"事件输出"功能,很好奇,想实现了,呵呵

使用特权

评论回复
6
香水城| | 2012-3-28 10:17 | 只看该作者
我没有详细研究过这个EVENTOUT,但我的印象中它是Cortex内核中的一个内部信号,是很多Event信号的综合而不是某个单一的Event,但具体是什么则没有细究。

LZ如果想深入研究,如果有什么结果,请和大家一起分享一下,先谢谢了!

使用特权

评论回复
7
airwill| | 2012-3-28 15:54 | 只看该作者
根据 TIM 的资料介绍, TIM update 的事件只有 1个 clk 的时间.
如果你的  TIM 的  溢出 ARR 是 65535(那么 TIM 的时钟源是 24MHz), update 只在约 40nS 的时间里有效, 可能 IO 口还是响应不过来. 先 加大 TIM 的 PSC 试试

使用特权

评论回复
8
幽蓝|  楼主 | 2012-3-30 09:07 | 只看该作者
TIM2使用 内部时钟72Mhz,psc分频了1000,arr是2000,PWM输出了36hz,p10脚还是没事件的信号(采用复用输出或Out_pp都测试了)。版主有这方面资料没!!!

使用特权

评论回复
9
香水城| | 2012-3-30 09:58 | 只看该作者
TIM2使用 内部时钟72Mhz,psc分频了1000,arr是2000,PWM输出了36hz,p10脚还是没事件的信号(采用复用输出或Out_pp都测试了)。版主有这方面资料没!!!
幽蓝 发表于 2012-3-30 09:07


这个部分好像在ARM的CPU资料中。

使用特权

评论回复
10
airwill| | 2012-3-30 15:40 | 只看该作者
ARM的CPU资料 PM0056 也没有说到这个内容

使用特权

评论回复
11
香水城| | 2012-3-30 16:14 | 只看该作者
ARM的CPU资料 PM0056 也没有说到这个内容
airwill 发表于 2012-3-30 15:40


ARM的资料里也没有?那可真是一个谜了, :L

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

17

帖子

0

粉丝