找回密码
 立即注册
查看: 834|回复: 2

32G12K128例程反馈 红外发射部分 | 不需要发送状态,PWM还在输出

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:459
  • 最近打卡:2025-06-16 00:13:00
已绑定手机

37

主题

2221

回帖

2658

积分

荣誉版主

积分
2658
发表于 2024-10-8 22:32:50 | 显示全部楼层 |阅读模式
使用 32G12K128 实验箱V9.4 测试红外发射部分,用的官方例程STC32G-DEMO-CODE-V9.4-20230309的《29-红外遥控接收程序(NEC码)-数码管显示用户地址和键值》,
测试过程中无意中摸到红外发射管旁边的三极管热到飞起,在按键空闲时,用手机拍红外发射管持续高亮,而电路上的限流电阻仅10Ω,驱动三极管的基极电阻为1KΩ,因此三极管因为发射极电流过大而处于放大区,承受了大部分的热量耗散。在没有按键事件的时候,红外应该关闭,而现在的现象这明显是不对的。
翻看代码,发现在不需要发送的时候,PWM还是处于输出状态,因此红外一直发射中,功耗很大。
  1. if(KeyCode > 0)     //检测到收到红外键码
  2. {
  3.                     IR_TxPulse(342);    //对应9ms,同步头       9ms
  4.                     IR_TxSpace(171);    //对应4.5ms,同步头间隔 4.5ms
  5.                     IR_TxPulse(21);     //开始发送数据          0.5625ms
  6.                     IR_TxByte(User_code%256);   //发用户码低字节
  7.                     IR_TxByte(User_code/256);   //发用户码高字节
  8.                     IR_TxByte(KeyCode);         //发数据
  9.                     IR_TxByte(~KeyCode);        //发数据反码
  10.         
  11.                     KeyCode = 0;
  12. }
复制代码

于是,增加以下代码
  1. /************* 发送关闭函数 **************/
  2. void IR_TxOff(void)
  3. {
  4.     PWMA_CCER2 = 0x00; //写 CCMRx 前必须先清零 CCxE 关闭通道
  5.     PWMA_CCMR4 = 0x40; //设置 PWM4 强制为无效电平
  6.     P27 = 1;  //PWM端口当IO置高,关闭红外输出
  7. }
复制代码

放在了键码发送后,按键发送红外光信号后,就不再继续发射了。
  1. if(KeyCode > 0)     //检测到收到红外键码
  2. {
  3.                     IR_TxPulse(342);    //对应9ms,同步头       9ms
  4.                     IR_TxSpace(171);    //对应4.5ms,同步头间隔 4.5ms
  5.                     IR_TxPulse(21);     //开始发送数据          0.5625ms
  6.                     IR_TxByte(User_code%256);   //发用户码低字节
  7.                     IR_TxByte(User_code/256);   //发用户码高字节
  8.                     IR_TxByte(KeyCode);         //发数据
  9.                     IR_TxByte(~KeyCode);        //发数据反码
  10.                                                                         
  11.                     KeyCode = 0;
  12.                     IR_TxOff();
  13. }
复制代码


同样的,实验箱V9.6的例程也有类似问题,在实际产品中,持续开启红外管发射不但影响红外管寿命,而功耗也巨大,需要妥善处理为好。



1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
睁开眼睛做场梦~~~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:307
  • 最近打卡:2025-06-16 07:34:10

0

主题

206

回帖

1710

积分

金牌会员

积分
1710
发表于 2024-10-9 07:07:41 | 显示全部楼层
感谢楼主的加持,让STC更好,是好事。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:178
  • 最近打卡:2025-06-12 08:44:23
已绑定手机

15

主题

628

回帖

822

积分

高级会员

积分
822
发表于 2024-11-23 15:54:04 | 显示全部楼层
确实是  楼主细心 这都能发现  我也被三极管烫过 那酸爽
STC 666 888
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-16 16:22 , Processed in 0.143050 second(s), 56 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表