打印

求MSp432的TIMERA的捕获功能例程

[复制链接]
3707|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
dirtwillfly| | 2017-7-4 23:15 | 只看该作者
看这个例程是你要的么 msp432p401_ta0_capture.rar (14.23 KB)

使用特权

评论回复
板凳
vaiting|  楼主 | 2017-7-5 10:02 | 只看该作者
dirtwillfly 发表于 2017-7-4 23:15
看这个例程是你要的么

谢谢大神,我学习一下

使用特权

评论回复
地板
vaiting|  楼主 | 2017-7-5 13:38 | 只看该作者
dirtwillfly 发表于 2017-7-4 23:15
看这个例程是你要的么

大神,有没有基于固件函数库的捕获例程?谢谢
另:捕获初始化中,结构体里面的captureoutputmode,指的是什么?谢谢

使用特权

评论回复
5
dirtwillfly| | 2017-7-5 14:39 | 只看该作者
vaiting 发表于 2017-7-5 13:38
大神,有没有基于固件函数库的捕获例程?谢谢
另:捕获初始化中,结构体里面的captureoutputmode,指的是 ...

固件库有一个英文的手册,你可以参考那个说明

使用特权

评论回复
6
dirtwillfly| | 2017-7-5 14:49 | 只看该作者
固件库的例程和使用说明都在mspware理,不知道你安装了没有?

使用特权

评论回复
7
dirtwillfly| | 2017-7-5 15:05 | 只看该作者

使用特权

评论回复
8
vaiting|  楼主 | 2017-7-5 16:18 | 只看该作者
本帖最后由 vaiting 于 2017-7-5 16:23 编辑

大神,MSPware432,我已经安装了。谢谢

使用特权

评论回复
9
vaiting|  楼主 | 2017-7-5 16:18 | 只看该作者
dirtwillfly 发表于 2017-7-5 15:05
或者看在线版的http://dev.ti.com/tirex/#/?link=Software%2FMSP430Ware

const Timer_A_CaptureModeConfig CapturemodeconfigP81 =
                {
                TIMER_A_CAPTURECOMPARE_REGISTER_0,                                                //uint_fast16_t captureRegister
                TIMER_A_CAPTUREMODE_RISING_AND_FALLING_EDGE,                        //uint_fast16_t captureMode
                TIMER_A_CAPTURE_INPUTSELECT_CCIxA,                                                //uint_fast16_t captureInputSelect
                TIMER_A_CAPTURE_ASYNCHRONOUS,                                                        //uint_fast16_t synchronizeCaptureSource
                TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE,                                //uint_fast8_t captureInterruptEnable
                TIMER_A_OUTPUTMODE_TOGGLE_RESET,                                                //uint_fast16_t captureOutputMode
                };
        GPIO_setAsPeripheralModuleFunctionOutputPin( GPIO_PORT_P8 , GPIO_PIN1 , GPIO_SECONDARY_MODULE_FUNCTION );
        Timer_A_initCapture ( TIMER_A2_MODULE , &CapturemodeconfigP81 );
大神你好。这是我写的一段函数。
目的是配置TA2.0,使之作为脉冲串的输入接口,以捕获上升与下降沿。
我现在不明白的是:TIMER_A_OUTPUTMODE_TOGGLE_RESET,                                                //uint_fast16_t captureOutputMode。这个参数是做什么用的?我并没有指定输出引脚,那么,输出信号从哪个引脚输出?谢谢

使用特权

评论回复
10
dirtwillfly| | 2017-7-5 18:40 | 只看该作者
TIMER_A_OUTPUTMODE_TOGGLE_RESET是定时器A的一个输出模式,借用msp430的一个图,模式2就是了

使用特权

评论回复
11
vaiting|  楼主 | 2017-7-6 10:09 | 只看该作者
dirtwillfly 发表于 2017-7-5 18:40
TIMER_A_OUTPUTMODE_TOGGLE_RESET是定时器A的一个输出模式,借用msp430的一个图,模式2就是了

...

大神您好,这个结构体是我引用的,其原始的定义如下:
typedef struct _Timer_A_CaptureModeConfig
{
    uint_fast16_t captureRegister;
    uint_fast16_t captureMode;
    uint_fast16_t captureInputSelect;
    uint_fast16_t synchronizeCaptureSource;
    uint_fast8_t captureInterruptEnable;
    uint_fast16_t captureOutputMode;
} Timer_A_CaptureModeConfig;
我想问的是其中的(最后一行)uint_fast16_t captureOutputMode;,是做什么用的?这个输出是如何明确的具体引脚?
还请指点。

使用特权

评论回复
12
dirtwillfly| | 2017-7-6 10:33 | 只看该作者
captureOutputMode就是用来配置输出模式的,如10楼的7种模式。
io一般默认是GPIO模式,用定时器的时候要把io配置成相应功能的,也有可能库函数里已经配置了,要翻手册看看说明,我手边这会没有

使用特权

评论回复
13
vaiting|  楼主 | 2017-7-6 13:34 | 只看该作者
dirtwillfly 发表于 2017-7-6 10:33
captureOutputMode就是用来配置输出模式的,如10楼的7种模式。
io一般默认是GPIO模式,用定时器的时候要把i ...

我翻遍了手头的资料,对于capture功能,资料上只有对输入信号的描述,就是CCIxA是输入端口。但是,只字未提对于capture后,的输出问题。我不清楚,既然配置结构体中要明确outputmode,但是为何没有明确从哪里输出?
我现在的用法就是,从TA2.0的端口输入一个脉冲串,然后配置成捕获上升和下降沿。我只想请教一下,这个outputmode,是明确什么端口的输出模式?
还请您指点一下,谢谢

使用特权

评论回复
14
dirtwillfly| | 2017-7-6 14:34 | 只看该作者
多翻翻手册吧,我也是翻手册找

使用特权

评论回复
15
vaiting|  楼主 | 2017-7-6 14:46 | 只看该作者
本帖最后由 vaiting 于 2017-7-6 14:48 编辑
dirtwillfly 发表于 2017-7-6 14:34
多翻翻手册吧,我也是翻手册找

大神,辛苦了。
这一页,我看过了。我理解TA2.0就是capture的输入,即为CCIxA。同时又是compare的输出脚,即为out0.但是,这里我只用到捕获功能,所以,单纯就是输入口。
您怎么看?还是没有明确capture 配置结构体中的outputmode作用在何处(作用在什么引脚)。您怎么看这个问题,还请指点,谢谢

使用特权

评论回复
16
dirtwillfly| | 2017-7-6 14:59 | 只看该作者
vaiting 发表于 2017-7-6 14:46
大神,辛苦了。
这一页,我看过了。我理解TA2.0就是capture的输入,即为CCIxA。同时又是compare的输出脚, ...

晕。你早说呢。你一直问outputmode的问题,以为你要使用比较
捕获得到的是定时器的TACCR0值,你可以在中断服务程序里存储在你自己定义的变量中

使用特权

评论回复
17
vaiting|  楼主 | 2017-7-6 15:03 | 只看该作者
dirtwillfly 发表于 2017-7-6 14:59
晕。你早说呢。你一直问outputmode的问题,以为你要使用比较
捕获得到的是定时器的TACCR0值,你可以在中 ...

大神,你这句话,能否说得透彻些,我的领悟有点不够了,抱歉

使用特权

评论回复
18
dirtwillfly| | 2017-7-6 15:06 | 只看该作者
vaiting 发表于 2017-7-6 15:03
大神,你这句话,能否说得透彻些,我的领悟有点不够了,抱歉

外部来一个下降沿或上升沿,就引起定时器的捕获操作而已。你用过其他单片机定时器的捕获模式吗?都差不多的

使用特权

评论回复
19
vaiting|  楼主 | 2017-7-6 15:11 | 只看该作者
本帖最后由 vaiting 于 2017-7-6 15:14 编辑
dirtwillfly 发表于 2017-7-6 15:06
外部来一个下降沿或上升沿,就引起定时器的捕获操作而已。你用过其他单片机定时器的捕获模式吗?都差不多 ...

谢谢。
这个我清楚。我想问的是,MSP432的固件函数库中,在配置定时器的捕获功能的结构体中,出现了一个参数:outputmode。我不理解这个参数的作用。这个参数是作用在具体的IO口吗?还是内部的信号?

使用特权

评论回复
20
dirtwillfly| | 2017-7-6 17:19 | 只看该作者
翻了翻手册。也没有说捕获模式有什么io输出。我猜它并没有什么卵用

使用特权

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

本版积分规则

17

主题

70

帖子

1

粉丝