找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4297|回复: 2
收起左侧

红外发送码的时间是怎么算出来的?

[复制链接]
ID:67796 发表于 2014-11-29 11:35 | 显示全部楼层 |阅读模式
本帖最后由 exv 于 2014-11-29 11:52 编辑

以下截取自光盘中 红外发射 的源代码:

  1. //发送9ms的起始码
  2.   irendcount=223;
  3.   irsflag=1;
  4.   ircount=0;
  5.   do{}while(ircount<irendcount);
  6.   //发送4.5ms的结果码
  7.   irendcount=117;
  8.   irsflag=0;
  9.   ircount=0;
复制代码

在板子上可运行,就是不知道这 223 和 117 是怎么算出的。 网上搜索能找到和我一样的疑问,但却无人能答:
我写一个红外发射的程序 我的想法是: 因为是38K调制, 所以1s/38k=26us 发送9ms的起始码需要9ms/26us=346次次中断计数。而我看的资料上是计了223次, 不知道是如何计算的.

搜索 2012-07-18 08:40 sjg1298363738 | 分类:军事  | 浏览187次

之前看过宋雪松老师的教学视频,51单片机的各个环节都讲得详细,唯独这个红外,只讲接收不讲发射,扯了这样一句“日本NEC公司”开发云云便不了了之。莫非这段日本人写的诡异代码难倒了宋老师?
回复

使用道具 举报

ID:1 发表于 2014-11-29 12:32 来自手机 | 显示全部楼层
对于这个问题 ,我记得51hei有一个专门的帖子解释过,关于红外发射的问题还是2010年的帖子:http://www.51hei.com/bbs/dpj-9757-1.html
回复

使用道具 举报

ID:67796 发表于 2014-11-29 13:08 | 显示全部楼层
admin 发表于 2014-11-29 12:32
对于这个问题 ,我记得51hei有一个专门的帖子解释过,我找一下

谢胡老师,不必找了,应该是这个帖子:
http://www.51hei.com/bbs/dpj-9757-1.html

C语言自身的一些问题,不过用示波器或者逻辑分析仪解决这个问题终归不是一个稳定的办法。

换一个不同型号,甚至换个晶振就得重新测一遍。



回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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