| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| алгоритъм за sony IR http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=2274 |
Страница 1 от 2 |
| Автор: | syrax [ Пет Апр 28, 2006 10:09 am ] |
| Заглавие: | алгоритъм за sony IR |
някой може ли да постне С алгоритъм за декодиране на деистанционно за SONY, ползвам at89s52 БЛАГОДАРЯ предварително |
|
| Автор: | setoy [ Пет Апр 28, 2006 11:53 am ] |
| Заглавие: | |
Ех, може би ти знаеш какво точно имаш предвид, но едва ли на някой друг става ясно Искаш да накараш 8952 да разпознава някои команди от протокола на дистанционното ли, какво ли? Ако да - не е трудно. |
|
| Автор: | syrax [ Пет Апр 28, 2006 11:59 am ] |
| Заглавие: | |
да искам да разчитам команди от дистанционното , и след това ще си напиша програмата да ми реагира на командите, но самото четене на сигналите ми е проблем , правих опити но не се получи мерси предварително |
|
| Автор: | setoy [ Пет Апр 28, 2006 12:32 pm ] |
| Заглавие: | |
Правил съм го, само че с PIC. И то на асемблер. Не знам дали може да ти е от полза. Но така или иначе принципа е ясен. |
|
| Автор: | syrax [ Пет Апр 28, 2006 12:34 pm ] |
| Заглавие: | |
аз за асм имам кодове ама не мога да схвана принципа за това ми трябва за С |
|
| Автор: | setoy [ Пет Апр 28, 2006 3:13 pm ] |
| Заглавие: | |
В общия случай всичко се свежда до измерване на време. Информацията се кодира с различни по дължина импулси - да ре4ем 10 мс импулс = 0 , 20 мс = 1. Конкретните детайли зависят от конкретния протокол, който ползва д-то. Да кажеш че няма откъде да се прочете - има. |
|
| Автор: | Predator_MF [ Пет Апр 28, 2006 3:25 pm ] |
| Заглавие: | |
Начините са много, досега съм използвал два начина, единия работи във всякакъв контролер, другия изисква Capture-Compare модул. И двата начина са универсални за какви да е IR дистанционни... Първия начин е да сканираш състоянието на входа през някакъв константен интервал от време и да записваш тази информация в достатъчно голям буфер - с 30 bytes съм ползвал в PIC16F84. После с малко обработка на единиците и нулите които си получил в буфера обработваш докато получиш T/2T изражението на кода, получават се 2 байта при мене, които всъщност са самия код на бутона от дистанционното. Втория метод който съм ползвал е за предпочитане пред първия, ползвам CCP модул на PIC процесор (примерно), при всеки положителен фронт от IR приемника пускам CCP модула, при следващия положителен спирам, получения интервал го записвам в буфер...и така докато се напълни буфера. Предимството е че ползваш хардуер за целта и можеш да организираш работата в прекъсване, докато в главния код извършваш някаква друга работа, не се налага да чакаш за сигнал за разлика от първия метод. Накрая пак обръщаш времената в Т/2Т и получаваш кода на бутона. Погледни това: http://www.techdesign.be/projects/011/011.htm |
|
| Автор: | syrax [ Пет Апр 28, 2006 3:33 pm ] |
| Заглавие: | |
аз бях си написал кода ама не работи коректно, моя начин беше като след като имам външен интеръп от 1 към 0 почва да работи и вземам проби през определено време само че сонито не е като RC5 и ако след пулса ми е 2т/1/ променям тимера за проба и така до края вземам си само първите 7 бита защото другите не ме интересуват......... но през 2-3 пъти ми отчита друга инф. и така ОБЕЩАВАМ ЧЕ КАТО СТАНЕ ЩЕ ПОСТНА ЦЕЛИЯ СОРС /free software for everyone/ |
|
| Автор: | evc [ Пет Апр 28, 2006 3:44 pm ] |
| Заглавие: | |
На един PHILIPS ЦД плеер съм правил такъв номер, но вкарах сигнала директно в UART модула. И до сега си работи. Всичко си става автоматично, няма нужда да смяташ времена - получаваш директно цифров код. Само трябва правилно да се подбере битрейта. |
|
| Автор: | syrax [ Пет Апр 28, 2006 3:49 pm ] |
| Заглавие: | |
аз не сам запознат с тези декодиращите интеграли , гледах някаде в нета за такива ама не знам какви има тук на пазара но ме изгаря амбицията да го напрява програмно |
|
| Автор: | syrax [ Пет Апр 28, 2006 3:52 pm ] |
| Заглавие: | |
и другото което ме притеснява е че незнам дали с тсоп 1138 ще стане номера при положение че сони с 40Khz имам и едно TFM5560 ама не знам за каква честота е. |
|
| Автор: | evc [ Пет Апр 28, 2006 3:52 pm ] |
| Заглавие: | |
UART модула на процесора! В 89С52 има. В твоя предполагам също. |
|
| Автор: | syrax [ Пет Апр 28, 2006 3:55 pm ] |
| Заглавие: | |
можеш ли да ми дадеш пример аз ползвам 89s52 има доп. таймер за разлика от 89c51 и малко повече памет иначе софта става и за 2-та ако е писан за 89с51. |
|
| Автор: | evc [ Пет Апр 28, 2006 4:04 pm ] |
| Заглавие: | |
Значи прочети внимателно в дейташийта как се конфигурира UART модула. Настройваш си битрейта (няма да се размине без проби - донастройки). Като се напълни буфера, получаваш прекъсване. Прочиташ си получения байт и правиш с него каквото е необходимо. Единствения препъни камък може да се окаже, ако дистанционното излъчва думи от по повече от 8 бита. Няма нищо уникално в кода нито някакви софтуерни хватки. Мога да ти го постна, но чак във вторник, понеже ми е в архива у дома. |
|
| Автор: | syrax [ Пет Апр 28, 2006 4:11 pm ] |
| Заглавие: | |
оки мерси ще сам ти благодарен ако го постнеш |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|