2402|2

5310

帖子

453

TA的资源

五彩晶圆(高级)

楼主
 

[TI首届低功耗设计大赛]+学习型红外遥控 [复制链接]

[TI首届低功耗设计大赛]+学习型红外遥控

1、硬件


学习红外:开启一体化红外接收头电源,然后TA0。2捕获输入信号
发送红外:TA1.1产生占空比1/4的38K信号,然后与TA0。1的包络信号

2、程序
发送部分初始化
//初始化
                    //TA0.1 / P1.0:包络信号
                    //TA1.1 / P1.2:38K载波信号
                    GPIO_setAsPeripheralModuleFunctionOutputPin(
                                                            GPIO_PORT_P1,
                                                            GPIO_PIN0 ,
                                                            GPIO_PRIMARY_MODULE_FUNCTION
                                                            );

                    GPIO_setAsPeripheralModuleFunctionOutputPin(
                                                        GPIO_PORT_P1,
                                                        GPIO_PIN2 ,
                                                        GPIO_PRIMARY_MODULE_FUNCTION
                                                        );
                    //禁用GPIO电源默认高阻抗模式激活以前配置的端口设置
                    PMM_unlockLPM5(__MSP430_BASEADDRESS_PMM_FRAM__);
                    //--------------------------------------------------------------------
                    //Start timer TA1.1 / P1.2
                    //38kHz 1/4 duty-cycle carrier waveform length setting空比载波波形长度设置
                    TIMER_A_configureUpMode(        TIMER_A1_BASE,
                                                           TIMER_A_CLOCKSOURCE_SMCLK,
                                                    TIMER_A_CLOCKSOURCE_DIVIDER_2,  //8M/2=4M
                                                    105,//TIMER_PERIOD,//周期=时钟 / 频率
                                                     TIMER_A_TAIE_INTERRUPT_DISABLE,
                                                      TIMER_A_CCIE_CCR0_INTERRUPT_DISABLE,
                                                       TIMER_A_DO_CLEAR
                                                       );

                    TIMER_A_startCounter(   TIMER_A1_BASE,
                                                      TIMER_A_UP_MODE
                                                           );

                    //Initialize compare mode to generate PWM1
                    TIMER_A_initCompare(TIMER_A1_BASE,
                                                     TIMER_A_CAPTURECOMPARE_REGISTER_1,
                                            TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE,
                                            TIMER_A_OUTPUTMODE_RESET_SET,        // output mode: reset/set   38K载波
                                            26//DUTY_CYCLE1
                                                  );
                    //--------------------------------------------------------------------
                    //TA0.1 / P1.0
                    TIMER_A_configureUpMode(        TIMER_A0_BASE,
                                                                            TIMER_A_CLOCKSOURCE_SMCLK,        //TA0CTL |= TASSEL_2
                                                                            TIMER_A_CLOCKSOURCE_DIVIDER_2,  //8M/2=4M
                                                                            640,//TIMER_PERIOD,//周期=时钟 / 频率 TA0CCR0 = 640;
                                                                            TIMER_A_TAIE_INTERRUPT_DISABLE,
                                                              TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE,//TA0CCTL0 = CCIE;//中断使能
                                                             TIMER_A_DO_CLEAR        //TA0CTL |=   TACLR;
                                                                   );
                    //TA0CCTL0 = CCIE;//中断使能
                    TIMER_A_startCounter(           TIMER_A0_BASE,
                                                                            TIMER_A_UP_MODE //TA0CTL |= MC_1
                                                                               );

                    //
                    TIMER_A_initCompare(                TIMER_A0_BASE,
                                                                 TIMER_A_CAPTURECOMPARE_REGISTER_1,
                                                                 TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE,
                                                                 TIMER_A_OUTPUTMODE_OUTBITVALUE,        //TA0CCTL2 |= OUTMOD_0; output mode: output   输出模式 包络信号
                                                        0//the initial time of TA0 should be longer than TA1TA0的初始时间应该比TA1更长
                                                                         );


接收初始化
//TA0.2 / P1.1:接收信号
                        // 配置 IR 输入脚
                        //        P1DIR &= ~BIT1;                                                                //Set P1.6 as input
                        //        P1SEL0|=  BIT1;                                                                //Set P1.6 as TA0.2 input


                        GPIO_setAsPeripheralModuleFunctionInputPin(
                                                                                    GPIO_PORT_P1,
                                                                                    GPIO_PIN1 ,
                                                                                    GPIO_PRIMARY_MODULE_FUNCTION
                                                                                    );

                        //禁用GPIO电源默认高阻抗模式激活以前配置的端口设置
                        PMM_unlockLPM5(__MSP430_BASEADDRESS_PMM_FRAM__);

                        //Timer_A clock source select : SMCLK
                        //Continuous mode: Timer counts up to 0FFFFh
                        //Timer_A clear
                         //TA0CTL = TASSEL__SMCLK |ID__2| MC__CONTINUOUS | TACLR;

                        TIMER_A_configureContinuousMode(         TIMER_A0_BASE,
                                                                                                TIMER_A_CLOCKSOURCE_SMCLK,                //TA0CTL = TASSEL_2
                                                                                                TIMER_A_CLOCKSOURCE_DIVIDER_2,  //8M/2=4M
                                                                                                TIMER_A_TAIE_INTERRUPT_DISABLE,
                                                                                                TIMER_A_DO_CLEAR                                   //TA0CTL =   TACLR
                                                              );

                        TIMER_A_startCounter(                           TIMER_A0_BASE,
                                                                                                TIMER_A_CONTINUOUS_MODE        //TA0CTL = MC_2
                                                                                   );
                        //Capture mode : Capture on both rising and falling edges
                        //Synchronize capture source : Synchronous capture
                        //Capture/compare input select : CCIxA
                        //Capture mode : Capture mode
                        //Capture/compare interrupt enable : Interrupt enabled
                        // TA0CCTL2 = CM_3 | CCIS_0 | SCS | CAP | CCIE;

                        TIMER_A_initCapture(        TIMER_A0_BASE,
                                                                        TIMER_A_CAPTURECOMPARE_REGISTER_2,
                                                                        TIMER_A_CAPTUREMODE_RISING_AND_FALLING_EDGE,
                                                                        TIMER_A_CAPTURE_INPUTSELECT_CCIxA,
                                                                        TIMER_A_CAPTURE_SYNCHRONOUS,
                                                                        TIMER_A_CAPTURECOMPARE_INTERRUPT_ENABLE,
                                                                        TIMER_A_OUTPUTMODE_OUTBITVALUE
                                                 );



3、界面
  
4、操作效果
遗憾!虽然信号产生,输入捕获都可以了,可是我最终没有完美的完成学习接收,转发!

最新回复

这个板子好漂亮的说。  详情 回复 发表于 2015-1-4 11:13

赞赏

1

查看全部赞赏

 
点赞 关注

回复
举报

1305

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
这个板子好漂亮的说。

点评

呵呵,谢谢 活动前期花了太多时间在硬件设计方面了!  详情 回复 发表于 2015-1-4 11:18
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

板凳
 

RE: [TI首届低功耗设计大赛]+学习型红外遥控

yang_alex 发表于 2015-1-4 11:13
这个板子好漂亮的说。

呵呵,谢谢
活动前期花了太多时间在硬件设计方面了!


 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表