Проблема, по видимому, с прерываниями в программе.

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Проблема, по видимому, с прерываниями в программе.

Сообщение Vova777 »

Я прошил микроконтроллер 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: Проблема, по видимому, с прерываниями в программе.

Сообщение Engineer_Keen »

Стек проинициализировать? Не... не слышал. :dont_know: :facepalm:
Реклама
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение Vova777 »

Engineer_Keen писал(а):Стек проинициализировать? Не... не слышал. :dont_know: :facepalm:
Вроде бы в пятой студии инициализируется автоматически по-умолчанию :dont_know:

; ================
; Инициализация стека (в AVR Studio 5 инициализируется по умолчанию)
; ldi temp,Ramend ; определение
; out SPL, temp ; верхушки стека
; ================
даешь высокое напряжение
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение ChipKiller »

Vova777 писал(а):Вроде бы в пятой студии инициализируется автоматически по-умолчанию......
.......Я прошил микроконтроллер ATmega8L-8PU
во первых у ATmega8 есть не только SPL, но и SPН
во вторых - все что находится за символом ';' - комментарий
ну и в третьих - конечно скидка на то, что Вы новичок в программировании есть, однако прежде чем задавать вопросы на элементарные вещи - прочитайте книжку .....
Реклама
Эиком - электронные компоненты и радиодетали
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение Vova777 »

Не могли бы вы переделать мою программу так, как надо, чтобы я мог потом посмотреть и понять в чем дело. Прошу вас первый и последний раз что-то сделать за меня.
Я уже читаю книжку
даешь высокое напряжение
Реклама
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение ChipKiller »

2 Vova777 в принципе Engineer_Keen все уже Вам сказал - нет инициализации стека, поэтому после первого-же call программа "умирает"
теперь об исправлениях - добавьте в начало программы макрос

Код: Выделить всё

.macro  outi
	ldi	r16,@1
   .if(@0 > 0x3F)
   sts @0,r16
   .else
   out @0,r16
   .endif
.endm
а сразу после метки Start: напишите

Код: Выделить всё

outi SPL,low(RAMEND)	; init stack
outi SPH,high(RAMEND)
Реклама
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение Vova777 »

у меня в программе нет слова Start
даешь высокое напряжение
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение Аlex »

у меня в программе нет слова Start
Аффтар, жжёшь ! Давай исчо ! :))) :))) :)))
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение Vova777 »

Аlex писал(а):Аффтар, жжёшь ! Давай исчо ! :))) :))) :)))
ну если я только начал с этим работать, конечно мои вопросы могут показаться тупыми
даешь высокое напряжение
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение Аlex »

конечно мои вопросы могут показаться тупыми
А причём тут вопрос ? Вы даже не знаете что у Вас в программе находится. :)
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение Vova777 »

Аlex писал(а):
конечно мои вопросы могут показаться тупыми
А причём тут вопрос ? Вы даже не знаете что у Вас в программе находится. :)
программа не моя, это пример
даешь высокое напряжение
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение Vova777 »

ChipKiller писал(а):2 Vova777 в принципе Engineer_Keen все уже Вам сказал - нет инициализации стека, поэтому после первого-же call программа "умирает"
теперь об исправлениях - добавьте в начало программы макрос

Код: Выделить всё

.macro  outi
	ldi	r16,@1
   .if(@0 > 0x3F)
   sts @0,r16
   .else
   out @0,r16
   .endif
.endm
а сразу после метки Start: напишите

Код: Выделить всё

outi SPL,low(RAMEND)	; init stack
outi SPH,high(RAMEND)
Спасибо, все заработало! :idea: Обещаю больше не задавать тупых вопросов, простите :cry:
даешь высокое напряжение
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение ChipKiller »

Vova777 советую привыкать использовать макросы и именованные константы, иначе, когда программа перерастет за сотню строк, разобраться в ней будет непросто.....
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение Vova777 »

ChipKiller писал(а):Vova777 советую привыкать использовать макросы и именованные константы, иначе, когда программа перерастет за сотню строк, разобраться в ней будет непросто.....
я думаю, что в книге, которую я читаю, будет информация по макросам, просто до нее я еще не дошел.
даешь высокое напряжение
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Проблема, по видимому, с прерываниями в программе.

Сообщение ChipKiller »

лучшую информацию по макросам можно почерпнуть из справки по AVR Studio
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»