Проблема, по видимому, с прерываниями в программе.
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Проблема, по видимому, с прерываниями в программе.
Я прошил микроконтроллер ATmega8L-8PU программой (.hex), которая должна сделать, чтобы светодиоды моргали (программа в Proteus проходит нормально, там все мигает). Прошивается все без проблем, светодиоды горят так, как задано в программе (0b10011001), но они не мигают! Бегущая дорожка тоже не получается. Что у меня не так? Кварц 4 МГц и 2 конденсатора 22 пФ стоят. Фьюзы не трогал, стоят по-умолчанию. Программа в приложении, писал в AVR Studio 5, компилируется без ошибок, шил через PonyProg, все прошилось нормально (Write Succesful), но они не мигают.
тут мой программатор
тут мой программатор
- Вложения
-
- программа.txt
- (2.29 КБ) 324 скачивания
даешь высокое напряжение
- Реклама
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Проблема, по видимому, с прерываниями в программе.
Стек проинициализировать? Не... не слышал.

-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Проблема, по видимому, с прерываниями в программе.
Вроде бы в пятой студии инициализируется автоматически по-умолчаниюEngineer_Keen писал(а):Стек проинициализировать? Не... не слышал.![]()
; ================
; Инициализация стека (в AVR Studio 5 инициализируется по умолчанию)
; ldi temp,Ramend ; определение
; out SPL, temp ; верхушки стека
; ================
даешь высокое напряжение
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Проблема, по видимому, с прерываниями в программе.
во первых у ATmega8 есть не только SPL, но и SPНVova777 писал(а):Вроде бы в пятой студии инициализируется автоматически по-умолчанию......
.......Я прошил микроконтроллер ATmega8L-8PU
во вторых - все что находится за символом ';' - комментарий
ну и в третьих - конечно скидка на то, что Вы новичок в программировании есть, однако прежде чем задавать вопросы на элементарные вещи - прочитайте книжку .....
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Проблема, по видимому, с прерываниями в программе.
Не могли бы вы переделать мою программу так, как надо, чтобы я мог потом посмотреть и понять в чем дело. Прошу вас первый и последний раз что-то сделать за меня.
Я уже читаю книжку
Я уже читаю книжку
даешь высокое напряжение
- Реклама
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Проблема, по видимому, с прерываниями в программе.
2 Vova777 в принципе Engineer_Keen все уже Вам сказал - нет инициализации стека, поэтому после первого-же call программа "умирает"
теперь об исправлениях - добавьте в начало программы макрос
а сразу после метки Start: напишите
теперь об исправлениях - добавьте в начало программы макрос
Код: Выделить всё
.macro outi
ldi r16,@1
.if(@0 > 0x3F)
sts @0,r16
.else
out @0,r16
.endif
.endmКод: Выделить всё
outi SPL,low(RAMEND) ; init stack
outi SPH,high(RAMEND)-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Проблема, по видимому, с прерываниями в программе.
у меня в программе нет слова Start
даешь высокое напряжение
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Проблема, по видимому, с прерываниями в программе.
Аффтар, жжёшь ! Давай исчо !у меня в программе нет слова Start
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Проблема, по видимому, с прерываниями в программе.
ну если я только начал с этим работать, конечно мои вопросы могут показаться тупымиАlex писал(а):Аффтар, жжёшь ! Давай исчо !![]()
![]()
даешь высокое напряжение
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Проблема, по видимому, с прерываниями в программе.
А причём тут вопрос ? Вы даже не знаете что у Вас в программе находится.конечно мои вопросы могут показаться тупыми
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Проблема, по видимому, с прерываниями в программе.
программа не моя, это примерАlex писал(а):А причём тут вопрос ? Вы даже не знаете что у Вас в программе находится.конечно мои вопросы могут показаться тупыми
даешь высокое напряжение
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Проблема, по видимому, с прерываниями в программе.
Спасибо, все заработало!ChipKiller писал(а):2 Vova777 в принципе Engineer_Keen все уже Вам сказал - нет инициализации стека, поэтому после первого-же call программа "умирает"
теперь об исправлениях - добавьте в начало программы макроса сразу после метки Start: напишитеКод: Выделить всё
.macro outi ldi r16,@1 .if(@0 > 0x3F) sts @0,r16 .else out @0,r16 .endif .endmКод: Выделить всё
outi SPL,low(RAMEND) ; init stack outi SPH,high(RAMEND)
даешь высокое напряжение
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Проблема, по видимому, с прерываниями в программе.
Vova777 советую привыкать использовать макросы и именованные константы, иначе, когда программа перерастет за сотню строк, разобраться в ней будет непросто.....
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Проблема, по видимому, с прерываниями в программе.
я думаю, что в книге, которую я читаю, будет информация по макросам, просто до нее я еще не дошел.ChipKiller писал(а):Vova777 советую привыкать использовать макросы и именованные константы, иначе, когда программа перерастет за сотню строк, разобраться в ней будет непросто.....
даешь высокое напряжение
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Проблема, по видимому, с прерываниями в программе.
лучшую информацию по макросам можно почерпнуть из справки по AVR Studio


