找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5107|回復: 2
收起左側(cè)

紅外發(fā)送碼的時間是怎么算出來的?

[復制鏈接]
ID:67796 發(fā)表于 2014-11-29 11:35 | 顯示全部樓層 |閱讀模式
本帖最后由 exv 于 2014-11-29 11:52 編輯

以下截取自光盤中 紅外發(fā)射 的源代碼:

  1. //發(fā)送9ms的起始碼
  2.   irendcount=223;
  3.   irsflag=1;
  4.   ircount=0;
  5.   do{}while(ircount<irendcount);
  6.   //發(fā)送4.5ms的結果碼
  7.   irendcount=117;
  8.   irsflag=0;
  9.   ircount=0;
復制代碼

在板子上可運行,就是不知道這 223 和 117 是怎么算出的。 網(wǎng)上搜索能找到和我一樣的疑問,但卻無人能答:
我寫一個紅外發(fā)射的程序 我的想法是: 因為是38K調(diào)制, 所以1s/38k=26us 發(fā)送9ms的起始碼需要9ms/26us=346次次中斷計數(shù)。而我看的資料上是計了223次, 不知道是如何計算的.

搜索 2012-07-18 08:40 sjg1298363738 | 分類:軍事  | 瀏覽187次

之前看過宋雪松老師的教學視頻,51單片機的各個環(huán)節(jié)都講得詳細,唯獨這個紅外,只講接收不講發(fā)射,扯了這樣一句“日本NEC公司”開發(fā)云云便不了了之。莫非這段日本人寫的詭異代碼難倒了宋老師?
回復

使用道具 舉報

ID:1 發(fā)表于 2014-11-29 12:32 來自手機 | 顯示全部樓層
對于這個問題 ,我記得51hei有一個專門的帖子解釋過,關于紅外發(fā)射的問題還是2010年的帖子:http://www.torrancerestoration.com/bbs/dpj-9757-1.html
回復

使用道具 舉報

ID:67796 發(fā)表于 2014-11-29 13:08 | 顯示全部樓層
admin 發(fā)表于 2014-11-29 12:32
對于這個問題 ,我記得51hei有一個專門的帖子解釋過,我找一下

謝胡老師,不必找了,應該是這個帖子:
http://www.torrancerestoration.com/bbs/dpj-9757-1.html

C語言自身的一些問題,不過用示波器或者邏輯分析儀解決這個問題終歸不是一個穩(wěn)定的辦法。

換一個不同型號,甚至換個晶振就得重新測一遍。



回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表