|
Xmega Прерывания |
|
|
|
 |
Ответов
|
Mar 1 2011, 16:46
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 17-09-06
Пользователь №: 20 471

|
Цитата(Pavel_Bor @ Feb 28 2011, 19:03)  Здравствуйте!
Захотелось подключить кнопочку к хмеге. Я так понимаю нужно использовать следующий вектор прерываний. + уровни прерываний. PORTE_INT0_vect 44 // External Interrupt 0 + как-то надо обратится к биту кнопки. Подскажите как это сделать, или где об этом можно почитать. Про xмегу в инете инфы мало можно сказать нету. Вся почти на сайте производителя. Написана на Си для каждого модуля. Кнопку лучше здесь подсоединить по другому. Кнопку к любому выводу. Вывод к каналу событий. В канале событий включить цифровой фильтр(он будет гасить дребезг) . Ну а дальше можно сделать обычное прерывание.......
|
|
|
|
|
Mar 2 2011, 08:00
|
Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 15-04-10
Из: Украина
Пользователь №: 56 660

|
Цитата(bob1 @ Mar 1 2011, 19:46)  Про xмегу в инете инфы мало можно сказать нету. Вся почти на сайте производителя. Написана на Си для каждого модуля. Кнопку лучше здесь подсоединить по другому. Кнопку к любому выводу. Вывод к каналу событий. В канале событий включить цифровой фильтр(он будет гасить дребезг) . Ну а дальше можно сделать обычное прерывание....... Можно ли обойтись одной кнопкой без запуска захвата входа одним из модулей таймеров/счетчиков? Например здесь: AVR1001-->4.1 Захват входа Может у Вас есть какой-нибудь пример?
Сообщение отредактировал Pavel_Bor - Mar 2 2011, 13:23
|
|
|
|
|
Mar 3 2011, 05:05
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 17-09-06
Пользователь №: 20 471

|
Цитата(Pavel_Bor @ Mar 2 2011, 13:00)  Можно ли обойтись одной кнопкой без запуска захвата входа одним из модулей таймеров/счетчиков? Например здесь: AVR1001-->4.1 Захват входа Может у Вас есть какой-нибудь пример? Какую задачу хотите решить??? По нажатию кнопки , что будет срабатывать и на какой частоте работает ядро?? Цитата(_Артём_ @ Mar 2 2011, 18:33)  Время дребезга - это миллисекунды, а не несколько циклов (на 32 МГц - меньше 1uc - разница на 3 порядка). На 32 Мгц скорее всего фильтр работать не будет. Если в "дребезге" будет импульс больше 8/32=0,25мкс , то фильтр его пропустит!!!!
|
|
|
|
|
Mar 3 2011, 07:56
|
Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 15-04-10
Из: Украина
Пользователь №: 56 660

|
Цитата(bob1 @ Mar 3 2011, 08:05)  Какую задачу хотите решить??? По нажатию кнопки , что будет срабатывать и на какой частоте работает ядро?? Для примера: по нажатию кнопки переключение светодиодов. А конкретно для задачи - написать какое-то слово на ЖК. Частота работы ядра 4.608 Мгц
Сообщение отредактировал Pavel_Bor - Mar 3 2011, 07:56
|
|
|
|
|
Mar 3 2011, 09:09
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 17-09-06
Пользователь №: 20 471

|
Цитата(Pavel_Bor @ Mar 3 2011, 12:56)  А конкретно для задачи - написать какое-то слово на ЖК. Частота работы ядра 4.608 Мгц Кнопка к 2 выводу порта Е. ISR(PORTE_INT0_vect){ while((PORTE.IN&PIN2_bm)!=PIN2_bm){};//ждем отпускания кнопки __delay_cycles(F_CPU/10); //время на дребезг .... здесь выводите на экран или устанавливаете флаг срабатывания кнопки. }; или ISR(PORTE_INT0_vect){ PORTE.INTCTRL =0; //запрещает прерывания .... здесь выводите на экран или устанавливаете флаг срабатывания кнопки. }; void main (void) { PORTE.INTCTRL =(uint8_t)PORT_INT0LVL_LO_gc; sei(); PORTE.PIN2CTRL=PORT_SRLEN_bm|PORT_ISC_FALLING_gc|PORT_OPC_PULLUP_gc; while(1); };
Сообщение отредактировал bob1 - Mar 3 2011, 09:10
|
|
|
|
Сообщений в этой теме
Pavel_Bor Xmega Прерывания Feb 28 2011, 14:03 нечитатель Цитата(Pavel_Bor @ Feb 28 2011, 17:03) по... Feb 28 2011, 15:14 Pavel_Bor не могу найти про хмегу.. Mar 1 2011, 09:30 _Артём_ Цитата(bob1 @ Mar 1 2011, 18:46) Про xмег... Mar 1 2011, 18:44      bob1 Цитата(Pavel_Bor @ Mar 3 2011, 14:18) Спа... Mar 3 2011, 10:31       Pavel_Bor а как изменяется код если с событием? Mar 3 2011, 10:49        bob1 Цитата(Pavel_Bor @ Mar 3 2011, 15:49) а к... Mar 3 2011, 17:49         Pavel_Bor У меня cod vision ругается на строку ISR(PORTE_IN... Mar 4 2011, 08:37        Pavel_Bor Код//Допустим вешаю я две кнопки на порт Е 6 и 7
... Mar 14 2011, 12:31         _Артём_ Цитата(Pavel_Bor @ Mar 14 2011, 14:31) Ко... Mar 14 2011, 16:46          Pavel_Bor Цитата(_Артём_ @ Mar 14 2011, 19:46) Може... Mar 17 2011, 14:15           _Артём_ Цитата(Pavel_Bor @ Mar 17 2011, 16:15) Cт... Mar 17 2011, 16:16 bob1 Вот выдержка :
В каждом канале событий имеется циф... Mar 1 2011, 19:40 _Артём_ Цитата(bob1 @ Mar 1 2011, 21:40) Вот выде... Mar 2 2011, 13:33 KKV2003 Э... А конденсаторы параллельно кнопочке уже отмен... Mar 3 2011, 10:29
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|