тут мой программатор
- Вложения
-
- программа.txt
- (2.29 КБ) 326 скачиваний
Вроде бы в пятой студии инициализируется автоматически по-умолчаниюEngineer_Keen писал(а):Стек проинициализировать? Не... не слышал.![]()
во первых у ATmega8 есть не только SPL, но и SPНVova777 писал(а):Вроде бы в пятой студии инициализируется автоматически по-умолчанию......
.......Я прошил микроконтроллер ATmega8L-8PU
Код: Выделить всё
.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)Аффтар, жжёшь ! Давай исчо !у меня в программе нет слова Start
ну если я только начал с этим работать, конечно мои вопросы могут показаться тупымиАlex писал(а):Аффтар, жжёшь ! Давай исчо !![]()
![]()
А причём тут вопрос ? Вы даже не знаете что у Вас в программе находится.конечно мои вопросы могут показаться тупыми
программа не моя, это примерАlex писал(а):А причём тут вопрос ? Вы даже не знаете что у Вас в программе находится.конечно мои вопросы могут показаться тупыми
Спасибо, все заработало!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 писал(а):Vova777 советую привыкать использовать макросы и именованные константы, иначе, когда программа перерастет за сотню строк, разобраться в ней будет непросто.....