• 滨海湾新区要变“湾区明珠” 2019-05-21
  • 孙杨、宁泽涛扛起中国游泳大旗 2019-05-11
  • 那你就写个帖子驳呀!告诉你,我是普通老百姓就是错了也没有啥,你可是论坛“真理化身”呀! 2019-05-11
  • 守住青山不放松 护好绿水不辞难——在渝全国人大代表聚焦“共抓大保护、不搞大开发”专题调研记略 2019-05-10
  • 巴厘岛被爆众多海域垃圾成灾 潜水常被塑料瓶塑料袋包围 2019-05-04
  • 两个不能否定,怎会是停留在30年前? 2019-04-27
  • 国际在线:向世界报道中国,向中国报道世界 2019-04-27
  • 【理上网来喜迎十九大】外媒记者:稳步推进生态文明建设的中国更加美丽 2019-04-26
  • 董卿海霞李思思康辉撒贝宁 央视名嘴童年照谁更萌 2019-04-26
  • “龙江二号”微卫星传回地月合影 2019-04-18
  • 中国驻泰国大使考察合艾国光中学孔子课堂 2019-04-18
  • 【清园20年】感恩大回馈!半价!半价! 2019-04-18
  • 中央纪委紧盯节点 4年来通报曝光问题近4000起 2019-04-13
  • 2013环球企业领袖宁夏圆桌会议嘉宾云集 2019-04-13
  • 《魔兽世界》未解之谜 那些仍不能被玩家们踏足的领地 2019-04-11
  • 打印

    11选五开奖结果广东: [M0] TM20输入捕获功能

    [复制链接]
    425|2
    跳转到指定楼层
    楼主

    1.对应复用功能5  GPIO初始化
    2.可选择触发模式:// Rising to Rising edge   // Rising to Falling edge  // Falling to Falling edge  / Falling to Rising edge
    3.贴上源码

    //*************************************************************************************************************
    //****************************TM20ê?è?2???1|?ü
    //************************************************************************************************************
    #include "MG32x02z__Common_DRV.H"
    #include "MG32x02z_DRV.H"


    void ChipInit(void);
    void Sample_Code(void);
    uint32_t CaptureData;

    #define TM20_IC0_TriggerSrc       3
    //************************************************************************************************************
    void Sample_TM20_Capture(void)
    {  
        TM_TimeBaseInitTypeDef TM_TimeBase_InitStruct;
        //===Set CSC init====
        //MG32x02z_CSC_Init.h(Configuration Wizard)
        //Select CK_HS source = CK_IHRCO
        //Select IHRCO = 12M
        //Select CK_MAIN Source = CK_HS
        //Configure PLL->Select APB Prescaler = CK_MAIN/1
        //Configure Peripheral On Mode Clock->TM20 = Enable
        //Configure Peripheral On Mode Clock->Port B = Enable
        //==Set GPIO init
        //TM20_IC0 pin config:
        //MG32x02z_GPIO_Init.h(Configuration Wizard)->Use GPIOB->Pin4
        //GPIO port initial is 0xFFFF
        //PB4 mode is ODO
        //PB4 function TM20_IC0
        TM_DeInit(TM20);
        TM_TimeBaseStruct_Init(&TM_TimeBase_InitStruct);
        TM_TimeBase_InitStruct.TM_MainClockDirection =TM_UpCount;
        TM_TimeBase_InitStruct.TM_Period = 65535;
        TM_TimeBase_InitStruct.TM_Prescaler = 65535;
        TM_TimeBase_InitStruct.TM_CounterMode = Full_Counter;   
        TM_TimeBase_Init(TM20, &TM_TimeBase_InitStruct);
        // 2.config overwrite mode (keep data)
        TM_IC0OverWritten_Cmd(TM20, TM_Keep);
        // 3.config TM20 channel 0 function
        TM_CH0Function_Config(TM20, TM_InputCapture);
        TM_IN0Source_Select(TM20, IC0); // TM20_IN0 from IC0 (PB4)            
        // 4.config TRGI mode
        TM_TriggerSource_Select(TM20,TRGI_IN0);   
    #if (TM20_IC0_TriggerSrc == 1)      // Rising to Rising edge   
        TM_TRGICounter_Select(TM20,TRGI_StartupRising);
        TM_TRGIPrescaler_Select(TM20,TRGI_StartupRising);
        TM_IN0TriggerEvent_Select(TM20, IC_RisingEdge);   
    #elif (TM20_IC0_TriggerSrc == 2)    // Rising to Falling edge
        TM_TRGICounter_Select(TM20,TRGI_StartupRising);
        TM_TRGIPrescaler_Select(TM20,TRGI_StartupRising);
        TM_IN0TriggerEvent_Select(TM20, IC_FallingEdge);   
    #elif (TM20_IC0_TriggerSrc == 3)    // Falling to Falling edge
        TM_TRGICounter_Select(TM20,TRGI_StartupFalling);
        TM_TRGIPrescaler_Select(TM20,TRGI_StartupFalling);
        TM_IN0TriggerEvent_Select(TM20, IC_FallingEdge);   
    #elif (TM20_IC0_TriggerSrc == 4)    // Falling to Rising edge
        TM_TRGICounter_Select(TM20,TRGI_StartupFalling);
        TM_TRGIPrescaler_Select(TM20,TRGI_StartupFalling);
        TM_IN0TriggerEvent_Select(TM20, IC_RisingEdge);  
    #endif   
        TM_ClearFlag(TM20, TMx_CF0A | TMx_CF0B);
        TM_Timer_Cmd(TM20,ENABLE);
        return;
    }
    //************************************************************************************************************
    void Sample_GPIO_RWInit(void)
    {
                                    uint16_t  ReadData;
                                    PIN_InitTypeDef PINX_InitStruct;   
                                    PINX_InitStruct.PINX_Mode                                  = PINX_Mode_OpenDrain_O;            //????IO?£ê?                                                                                                                                                                                                                                                                                                                                //     1.QB: Quasi-Bidirection mode only for PC )
                                    PINX_InitStruct.PINX_PUResistant        = PINX_PUResistant_Enable;          //?ú2?é?à-
                                    PINX_InitStruct.PINX_Speed              = PINX_Speed_Low;                   //éè???ù?è                                                                                                                                                                                                                                                                                       
                                    PINX_InitStruct.PINX_OUTDrive           = PINX_OUTDrive_Level0;             //ê?3??üá|éè??                                                                                                                                                                                                                                                                                                       
                                    PINX_InitStruct.PINX_FilterDivider      = PINX_FilterDivider_Bypass;        //????ê?è?μ???2¨·??μ?÷
                                    PINX_InitStruct.PINX_Inverse            = PINX_Inverse_Disable;             //ê?è?D?o?ê?·?·′×a
                                    PINX_InitStruct.PINX_Alternate_Function = 5;                                //????GPIO?£ê?
                                    GPIO_PinMode_Config(PINB(4),&PINX_InitStruct);                              //PA0 ???
            PB4=1;  
                   PINX_InitStruct.PINX_Alternate_Function = 0;                                //????GPIO?£ê?
                                    GPIO_PinMode_Config(PINB(1),&PINX_InitStruct);                              //PA0 ???       
    }
    //************************************************************************************************************
    int main()
    {

        ChipInit();
        Sample_GPIO_RWInit();
        while(1)
        {
                   Sample_TM20_Capture();
                                      while(TM_GetSingleFlagStatus(TM20,TMx_CF0A) == DRV_UnHappened);
                    CaptureData = TM_GetIC0Value(TM20);
                    TM_ClearFlag(TM20, TMx_CF0A | TMx_CF0B);
                                      PB1=0;
                           
        }
    }



    沙发
    | 2018-10-16 17:11 | 只看该作者
    我一直搞不懂这个,输入捕获是干啥用的。。
    板凳
     楼主 | 2018-10-16 17:59 | 只看该作者
    自己多试试
    扫描二维码,随时随地手机跟帖
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    我要发帖 投诉建议 创建版块 申请版主

    快速回复

    您需要登录后才可以回帖
    登录 | 注册
    高级模式

    论坛热帖

    快速回复 广东快乐十分走势图 返回列表
  • 滨海湾新区要变“湾区明珠” 2019-05-21
  • 孙杨、宁泽涛扛起中国游泳大旗 2019-05-11
  • 那你就写个帖子驳呀!告诉你,我是普通老百姓就是错了也没有啥,你可是论坛“真理化身”呀! 2019-05-11
  • 守住青山不放松 护好绿水不辞难——在渝全国人大代表聚焦“共抓大保护、不搞大开发”专题调研记略 2019-05-10
  • 巴厘岛被爆众多海域垃圾成灾 潜水常被塑料瓶塑料袋包围 2019-05-04
  • 两个不能否定,怎会是停留在30年前? 2019-04-27
  • 国际在线:向世界报道中国,向中国报道世界 2019-04-27
  • 【理上网来喜迎十九大】外媒记者:稳步推进生态文明建设的中国更加美丽 2019-04-26
  • 董卿海霞李思思康辉撒贝宁 央视名嘴童年照谁更萌 2019-04-26
  • “龙江二号”微卫星传回地月合影 2019-04-18
  • 中国驻泰国大使考察合艾国光中学孔子课堂 2019-04-18
  • 【清园20年】感恩大回馈!半价!半价! 2019-04-18
  • 中央纪委紧盯节点 4年来通报曝光问题近4000起 2019-04-13
  • 2013环球企业领袖宁夏圆桌会议嘉宾云集 2019-04-13
  • 《魔兽世界》未解之谜 那些仍不能被玩家们踏足的领地 2019-04-11
  • pk10输惨了一无所有 香港赛马会特马资料 北京pk10怎么研究走势 奥地利秒速时时彩规则 河北燕赵20选5走势图 搜狐彩票走势大全 北单比分直播 七星彩最新开奖号码 双色球走势 北京pk10怎么玩最稳妥 山东时时彩是什么意思是什么意思是什么意思 北京pk105码两期计划 新疆喜乐彩怎么买 牛牛 新疆喜乐彩和值图 码报资料2018开奖结果