|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:18 am
|
Страница 1 от 1
|
[ 4 мнения ] |
|
| Автор |
Съобщение |
|
harleybg
Ранг: Минаващ
Регистриран на: Пет Ное 03, 2006 9:50 pm Мнения: 39
|
 Промяна на 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 (настъпила промяна на А) не се установява. Защо така?
|
| Нед Юли 19, 2009 5:00 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Ами в какво състояние ти е IOCA бита ? Ако погледнеш схемата на порта ще видиш че има един AND с три входа, един е изход от компаратора на нива, вторият е IOCA, а третият е триса, т.е. ако триса е на изход няма да ти даде промяна, също и ако IOAC е 0. Освен това там пише че всяко четене на порта изчиства тоя флаг ...
|
| Нед Юли 19, 2009 5:21 pm |
|
 |
|
harleybg
Ранг: Минаващ
Регистриран на: Пет Ное 03, 2006 9:50 pm Мнения: 39
|
IOCATA съм я оправил, но за другото (четенето изчиства флага)явно някак си съм го пропуснал. А проверката с btfss на даден бит от порта, предполага и то се счита за четене.
|
| Нед Юли 19, 2009 5:43 pm |
|
 |
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 11:13 am Мнения: 381 Местоположение: Варна
|
да, счита се. трябва да проверяваш флага, а не да четеш порта
|
| Пон Юли 20, 2009 12:23 pm |
|
|
|
Страница 1 от 1
|
[ 4 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|