完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在新唐m4 nuedu 红外线接收与发送的程序中,关于pwm有一下配置。 问题:1:什么是施密特触发, 我的理解:平时都是高于某一临界值,高便为高,低便是低,施密特等于说设置了两个值。高于一个临界值才是高,低同样这样抗干扰的能力肯定会更高。 只是在trm技术手册上没有看到pwm capture的相关简介,所以厚着脸皮来这里问问。。。。 2:capture的1000是怎么选的?在nec bit0/1 的规范中如图下面附件,有560us的pwm方波和560的低电平,capture下降沿应该不会收到560us pwm那个影响(因为他是30%占空比,它本身就有下降沿,从程序来看,这个下降沿应该没算),应该跟1000这个设置有关系,但就是想不通 我的理解:1/38000 =2.63*10^-5,就是26us,即使再 *0.3,高电平也是7.8us。 那么capture的1000怎么算出来的呢??? 点进入,该参数的说明是计数的单位。该单位是ns级的,设为1000,也就是1us记一个数。 如果这样,pwm 输出时,NEC协议要求的,560us微妙的pwm,都会引起pwmcapture的捕获,不是吗? 在nec rx函数中是严格控制步骤,应该不会这样: 下面是部分rx程序: voidIrDa_NEC_Rx(uint32_t u32time) { if(IR_State == 0) { IR_LDC_Ready = 0; // Clear LeaDer Code Ready IR_CTC_Ready = 0; // Clear CusTomer Code Ready IR_State++; } // Leader or Repeater code else if(IR_State == 1) { // Leader code if((u32Time >= IR_LDC_MIN) (u32Time <= IR_LDC_MAX)) { IR_LDC_Ready = 1; // Set LeaDer Code Ready IR_State++; } else { IR_State = 1; IR_LDC_Ready = 0; // Clear LeaDer Code Ready IR_CTC_Ready = 0; // Clear CusTomer Code Ready } } // Customer code 0 else if((IR_State >= 2 IR_State < 10) (IR_LDC_Ready == 1)) { IR_State++; IR_CTC0 = IR_CTC0 >> 1; 这是配置函数: 输出 PWM_ConfigOutputChannel(PWM0,3, 38000, 30); 接收 /* set PWM1 channel 3 capture configuration*/ PWM_ConfigCaptureChannel(PWM0, 5, 1000,0);//1000说是捕获单位,单位是ns,我觉得不对的是,72M对应不是ns. 0没有用 /* Enable capture falling edge interruptfor PWM1 channel 3 */ PWM_EnableCaptureInt(PWM0, 5,PWM_CAPTURE_INT_FALLING_LATCH); /* Enable PWM1 NVIC interrupt */ NVIC_EnableIRQ(PWM0P2_IRQn); /* Enable Timer for PWM1 channel 3 */ PWM_Start(PWM0, PWM_CH_5_MASK); /*Enable Input Schmitt Trigger*/ PD->SMTEN |= GPIO_SMTEN_SMTEN7_Msk; /* Enable Capture Function for PWM1 channel3 */ PWM_EnableCapture(PWM0, PWM_CH_5_MASK); /* Enable falling capture reload */ |
|
相关推荐
1个回答
|
|
这样的遥控器波形,发送可以用PWM,只要确定发出多少个PWM周期即可,发0配置一个引脚,输出常0
接收要是滤波的,把PWM全滤除。得出脉冲波,再用PWM的捕获测脉冲的时间。 |
|
|
|
只有小组成员才能发言,加入小组>>
664浏览 3评论
584浏览 2评论
393浏览 1评论
411浏览 1评论
375浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 20:29 , Processed in 0.449639 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号