AVR зовнішнього переривання 0 завдання

S

saurabh17g

Guest
Будь ласка, ознайомтеся з програмою нижче: # Включити / / зовнішнього переривання 0 процедуру обслуговування переривання [EXT_INT0] ext_int0_isr недійсним (недійсними) {PORTC = 0xAA;} / / Оголошуємо глобальні змінні вашого тут сили основних (недійсними) {/ / Зовнішнє переривання (и) ініціалізації / / INT0: На / / INT0 режим: Падіння Edge / / INT1: Off / / INT2: Off GICR | = 0x40; MCUCR = 0x02; MCUCSR = 0x00; GIFR = 0x40; / / Глобальна дозволити переривання # ASM ("сеї") DDRC = 0xff; / / налаштування PORTC як вихід для тестування в той час як (1) {/ / Місце тут ваш код};} відповідно до програми вставив вище, PORTC контакти повинні дати вихід 0xAA тільки тоді, коли INT0 контактний отримує задньому фронту. Але в моєму випадку, PORTC включена назавжди. Я пробував кілька комбінацій, як рівень спрацьовування фронту тощо. але все це дає той же результат. Будь ласка, дайте відповідь.
 
За вашій програмі PORTC завжди 0xAA після першого INT0. Програма ніколи не змінює це значення знову. Спробуйте змінити значення всередині час циклу (наприклад, PORTC = 0x55). У цьому випадку значення 0xAA буде видно на виході тільки під час виконання INT0 (дуже короткий час). З повагою
 
так, я зміна програми як: {PORTC = 0xAA; delay_ms (500); PORTC = 0x55;}, але результат той самий. Я отримую PORTC, як і всі 0xff (комбінація 0x55 і oxaa) чи буде переривання спрацьовує.
 
Є що-небудь, що працює нормально? Здається контакт скидання проводиться ON. [Розмір = 2] [COLOR = # 999999] Додано через 3 хвилини: [/ колір] [/ розмір] Також переконайтеся BROWN OUT не активована. [Розмір = 2] [COLOR = # 999999] Додано через 3 хвилини: [/ колір] [/ розмір] сумніви: яка версія Codevision ви використовуєте?
 
Ви відключені JTAG. JTAG висновки на PORTC Спробуйте використовувати інший порт, як PORTA Протестовано з моделюванням і ваш код працює належним чином
 

Welcome to EDABoard.com

Sponsor

Back
Top