| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Не выполняеться прерывание? |
| Автор: Ofer 8.7.2008, 12:44 | ||||
| Доброе время суток! У меня есть программа, которая должна через каждую секунду инвертировать вывод порта. Но когда происходит прерывание, таймер восстанавливает свои значения, то есть вроде бы прерывание обрабатывается, но значение на порте не меняется. Пишу на WinAVR. В чем у меня ошибка? h-файл
с-файл
|
| Автор: Mazzi 8.7.2008, 12:57 | ||
| В отладчике пройдись, убедись, что правильно настроен порт на вывод. Если не поможет, то попробуй написать вот так
Или попробуй инкрементировать 8-разр. переменную и полностью выводить в порт. Сядь осциллографом на выводы и посмотри. Удачи! |
| Автор: Ofer 8.7.2008, 13:13 |
| После того, как произошло прерывание происходит переход в начало программы. В чем дело??? Это на все на эмуляторе. Физически устройства нет Строка PB1 = ~PB1; дает ошибку main.c:30: error: lvalue required as left operand of assignment |
| Автор: Mazzi 8.7.2008, 13:38 |
| К сожалению у меня нет WINAVR. Если пришлёшь все файлы, могу попробовать в CVAVRStudio. |
| Автор: Ofer 8.7.2008, 13:42 |
| Я как раз проверяю на AVRStudio 4. Все те же ошибки. А файлов то всего два. Весь исходный код в первом посте выложен. Добавлено через 8 минут и 25 секунд Правильно ли вообще у меня описан вызов прерывания? Как кроме этого обработчика сделать обработчики на прерывания от совпадений и др.? |
| Автор: cardinal 8.7.2008, 19:09 |
PORTB ^= 0x01 |
| Автор: Ofer 8.7.2008, 22:49 | ||
| Все до ужаса просто. Запись "устаревшая" . Надо
Благодарю всех за посильную помощь! Спасибо! |
| Автор: Masyanya 28.7.2008, 10:08 | ||
Если PB1, то так: PORTB ^= 0x02 |
| Автор: cardinal 28.7.2008, 10:25 |
| Masyanya, там важен принцип |
| Автор: Семен78 19.8.2008, 23:37 |
я тоже с этим парился подскажи где узнать все новшества? |
| Автор: Mazzi 20.8.2008, 08:48 |
| Как правило на сайте разработчика компилятора есть масса примеров, и если компилятор развивается, то примеры достаточно свежие. |