找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

[復(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的結(jié)果碼
  7.   irendcount=117;
  8.   irsflag=0;
  9.   ircount=0;
復(fù)制代碼

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

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

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

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

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

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



回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

快速回復(fù) 返回頂部 返回列表