| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Промяна на PORTA http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=6992 |
Страница 1 от 1 |
| Автор: | harleybg [ Нед Юли 19, 2009 5:00 pm ] |
| Заглавие: | Промяна на PORTA |
Искам да следя дали има промяна на PORTA, докато се изпълнява прекъсване. В дейташиита на 16ф676 пише: Interrupt flag bits are set when an interrupt condition occurs, REGARDLESS of the state of its coresponding enable bit or the global enable bit, GIE. С две думи: прочитам PORTA и колкото и пъти да се върти програмата бит INTCON, RAIF (настъпила промяна на А) не се установява. Защо така? |
|
| Автор: | ToHu [ Нед Юли 19, 2009 5:21 pm ] |
| Заглавие: | |
Ами в какво състояние ти е IOCA бита ? Ако погледнеш схемата на порта ще видиш че има един AND с три входа, един е изход от компаратора на нива, вторият е IOCA, а третият е триса, т.е. ако триса е на изход няма да ти даде промяна, също и ако IOAC е 0. Освен това там пише че всяко четене на порта изчиства тоя флаг ... |
|
| Автор: | harleybg [ Нед Юли 19, 2009 5:43 pm ] |
| Заглавие: | |
IOCATA съм я оправил, но за другото (четенето изчиства флага)явно някак си съм го пропуснал. А проверката с btfss на даден бит от порта, предполага и то се счита за четене. |
|
| Автор: | didofen [ Пон Юли 20, 2009 12:23 pm ] |
| Заглавие: | |
да, счита се. трябва да проверяваш флага, а не да четеш порта |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|