ИК пульт
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: ИК пульт
Этим куском нужно заменить в старой проге кусок от метки Scan до команды goto Scan.
После метки Scan прога проверяет уровень на ноге GP5. Если этот уровень высокий - пропускает процедуру приём, если низкий - выполняет.
Далее прога проверяет наличие start bit-а. Если он есть - значит приняли пакет и его надо обработать, - выполняем процедуру rab_chast.
Далее, вместо того, чтобы как в старой проге, проверять это всё в бесконечном цикле, мы просто сбрасываем флаг изменения уровня на ногах контроллера и засыпаем. Когда начнётся приём - уровень на ноге GP5 изменится, этот флаг установится и мы проснёмся. Поскольку глобальный флаг прерываний сброшен, то перехода по вектору прерываний не будет, а вместо этого прога просто продолжит выполняться с того места, где мы уснули, т.е. выполнится команда goto Scan, снова проверка уровня на ноге GP5 и далее... до нового засыпания.
После метки Scan прога проверяет уровень на ноге GP5. Если этот уровень высокий - пропускает процедуру приём, если низкий - выполняет.
Далее прога проверяет наличие start bit-а. Если он есть - значит приняли пакет и его надо обработать, - выполняем процедуру rab_chast.
Далее, вместо того, чтобы как в старой проге, проверять это всё в бесконечном цикле, мы просто сбрасываем флаг изменения уровня на ногах контроллера и засыпаем. Когда начнётся приём - уровень на ноге GP5 изменится, этот флаг установится и мы проснёмся. Поскольку глобальный флаг прерываний сброшен, то перехода по вектору прерываний не будет, а вместо этого прога просто продолжит выполняться с того места, где мы уснули, т.е. выполнится команда goto Scan, снова проверка уровня на ноге GP5 и далее... до нового засыпания.
С уважением, администрация сайта.
Re: ИК пульт
Этот кусок я заменил! теперь как из asm файл сделать hex? вообще то я по образованию экономист и и все эти термины я не понимаю! это вроде как хобби и то на уровне интуитивно понятных сборках!
После заливки прошивки, как понять что все правильно работает?
![Очень доволен :D](./images/smilies/icon_e_biggrin.gif)
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: ИК пульт
Создать в MPLab проект, прицепить к нему этот asm-файл и скомпилировать. Вот тут в конце статьи написано, как всё это сделать.
Понять, что всё правильно работает можно измерив ток потребления со старой прошивкой и с новой. Или просто посмотрев через какое время разрядится батарейка.
Понять, что всё правильно работает можно измерив ток потребления со старой прошивкой и с новой. Или просто посмотрев через какое время разрядится батарейка.
С уважением, администрация сайта.
Re: ИК пульт
Debug build of project `C:\ikpriemnik_pic12_prost_rc5.disposable_mcp' started.
Preprocessor symbol `__DEBUG' is defined.
Sat Oct 26 01:05:40 2013
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\ikpriemnik_pic12_prost_rc5.mcs".
Clean: Done.
Executing: "C:\Program Files (x86)\Microchip\MPASM Suite\MPASMWIN.exe" /q /p12F629 "ikpriemnik_pic12_prost_rc5.asm" /l"ikpriemnik_pic12_prost_rc5.lst" /e"ikpriemnik_pic12_prost_rc5.err" /d__DEBUG=1
Warning[203] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 55 : Found opcode in column 1. (bsf)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 156 : Found label after column 1. (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 156 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 158 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 158 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 158 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 166 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 166 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 166 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 168 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 168 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 168 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 176 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 176 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 176 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 178 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 178 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 178 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 186 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 186 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 186 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 188 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 188 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 188 : Illegal argument (expected single character)
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `C:\ikpriemnik_pic12_prost_rc5.disposable_mcp' failed.
Preprocessor symbol `__DEBUG' is defined.
Sat Oct 26 01:05:41 2013
----------------------------------------------------------------------
BUILD FAILED
Вот что пишет, это нормально?
Preprocessor symbol `__DEBUG' is defined.
Sat Oct 26 01:05:40 2013
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\ikpriemnik_pic12_prost_rc5.mcs".
Clean: Done.
Executing: "C:\Program Files (x86)\Microchip\MPASM Suite\MPASMWIN.exe" /q /p12F629 "ikpriemnik_pic12_prost_rc5.asm" /l"ikpriemnik_pic12_prost_rc5.lst" /e"ikpriemnik_pic12_prost_rc5.err" /d__DEBUG=1
Warning[203] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 55 : Found opcode in column 1. (bsf)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 156 : Found label after column 1. (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 156 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 158 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 158 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 158 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 166 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 166 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 166 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 168 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 168 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 168 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 176 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 176 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 176 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 178 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 178 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 178 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 186 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 186 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 186 : Illegal argument (expected single character)
Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 188 : Found label after column 1. (mowlw)
Error[116] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 188 : Address label duplicated or different in second pass (mowlw)
Error[124] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 188 : Illegal argument (expected single character)
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `C:\ikpriemnik_pic12_prost_rc5.disposable_mcp' failed.
Preprocessor symbol `__DEBUG' is defined.
Sat Oct 26 01:05:41 2013
----------------------------------------------------------------------
BUILD FAILED
Вот что пишет, это нормально?
Re: ИК пульт
у меня mblab 8.10 на windows 7!
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: ИК пульт
Нет, это конечно не нормально.
Эта ошибка по-моему в 4-х местах закралась. Исправь и должно быть всё нормально.
Вот это говорит о том, что команда написана с самого начала строки, без отступа. Нужно отступ сделать. Без отступа обычно метки пишут.Warning[203] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 55 : Found opcode in column 1. (bsf)
А вот эти ошибки из-за того, что ошибочка в написании команды вкралась. надо писать movlw, а не mowlw.Warning[207] C:\IKPRIEMNIK_PIC12_PROST_RC5.ASM 156 : Found label after column 1. (mowlw)
Эта ошибка по-моему в 4-х местах закралась. Исправь и должно быть всё нормально.
С уважением, администрация сайта.
Re: ИК пульт
ошибку исправил, а вот отступ где именно не понял!
Re: ИК пульт
----------------------------------------------------------------------
Debug build of project `C:\ikpriemnik_pic12_prost_rc5\ikpriemnik_pic12_prost_rc5.mcp' started.
Preprocessor symbol `__DEBUG' is defined.
Tue Oct 29 00:00:09 2013
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\ikpriemnik_pic12_prost_rc5\ikpriemnik_pic12_prost_rc5.mcs".
Clean: Done.
Build aborted. The project contains no source files.
----------------------------------------------------------------------
Debug build of project `C:\ikpriemnik_pic12_prost_rc5\ikpriemnik_pic12_prost_rc5.mcp' failed.
Preprocessor symbol `__DEBUG' is defined.
Tue Oct 29 00:00:09 2013
----------------------------------------------------------------------
BUILD FAILED
Debug build of project `C:\ikpriemnik_pic12_prost_rc5\ikpriemnik_pic12_prost_rc5.mcp' started.
Preprocessor symbol `__DEBUG' is defined.
Tue Oct 29 00:00:09 2013
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\ikpriemnik_pic12_prost_rc5\ikpriemnik_pic12_prost_rc5.mcs".
Clean: Done.
Build aborted. The project contains no source files.
----------------------------------------------------------------------
Debug build of project `C:\ikpriemnik_pic12_prost_rc5\ikpriemnik_pic12_prost_rc5.mcp' failed.
Preprocessor symbol `__DEBUG' is defined.
Tue Oct 29 00:00:09 2013
----------------------------------------------------------------------
BUILD FAILED
Re: ИК пульт
;********* Переменные ************************************
CBLOCK 0x20 ; Начальный адрес блока констант
MBC ; старший байт посылки (полбита - 889uS)
LBC ; младший байт посылки
Counter2 ; счетчики для пауз
Counter1 ;
Counter3 ;
ENDC ;
и еще, со второй строки по шестую, функции слева не синего цвета, как остальные! так же выглядели функции до исправления ошибок! может и здесь что то не то?
CBLOCK 0x20 ; Начальный адрес блока констант
MBC ; старший байт посылки (полбита - 889uS)
LBC ; младший байт посылки
Counter2 ; счетчики для пауз
Counter1 ;
Counter3 ;
ENDC ;
и еще, со второй строки по шестую, функции слева не синего цвета, как остальные! так же выглядели функции до исправления ошибок! может и здесь что то не то?
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: ИК пульт
Нет, здесь всё как надо. Вот такая ошибка
по-моему вылезает, если файл с исходником к проекту не подключен. Странно, до этого же у тебя вроде пытался скомпилировать. Может ты файл с исходником переименовал, перенёс куда нить или расширение ему поменял. Попробуй ещё раз зайти в настройки проекта и подключить к нему файл с исходником (тот, который asm).The project contains no source files.
С уважением, администрация сайта.