Ура! Всё получилось! Бутлоадер пишется по адресу 0x1F800!!!
2 дня плясок!
Контроллер для горелки на отработанном масле на Mega 2560
Сообщений 91 страница 105 из 105
Поделиться912014-01-29 17:30:04
Поделиться922014-01-29 20:35:36
Ура! Всё получилось! Бутлоадер пишется по адресу 0x1F800!!!
2 дня плясок!
Че было, партизан ? ))))
Бубен не из человеческой кожи или пел так, что духам не нравилось ? ))
Отредактировано Skull (2014-01-29 20:36:17)
Поделиться932014-01-29 22:15:31
Сам виноват, не додумал.
---
Так, давайте по прерываниям пинайте меня, как с ними работать?
---
Нужно клаву опрашивать, ну скажем ... 6Гц на прерываниях и + флаг обновления датчиков температуры раз в 2 секунды...
---
Ребят, я создал канал в Zello.com для общения реального, называется AVRProject, присоединяйтесь, пообщаемся!
Поделиться942014-01-30 00:44:46
Сам виноват, не додумал.
---
Так, давайте по прерываниям пинайте меня, как с ними работать?
---
Для начала открой хелп, набери INT, посмотри пример. Что не поймешь- поясним. Также посмотри в папке "SAMPLES" работу с таймерами (это к опросу клавиатуры)
Ну, и неплохо было бы не использовать повелительные наклонения в общении. Тебе все равно, а нам приятно, типа доброе дело делаем )
Поделиться952014-01-31 15:46:25
Так, с таймерами разобрался.
А как из ассемблера поиметь доступ к 16-и разрядным регистрам X, Y, и Z ???
Типа
lds r16,{key_count}
inc r16
sts {key_count},r16
andi r16,&B00000111
brne куда-то
с регистрами X,Y, Z так не получается...
Зачем, спросите вы?
Хочу к каждой кнопке переменную word привязать, 2 старших бита-флаги, остальные-счётчик.
+++
оператор NoSave что делает?
Обязательно ли сохранять Sreg в обработчике прерывания?
Отредактировано -NMi- (2014-01-31 17:17:03)
Поделиться962014-02-03 21:16:15
оператор NoSave что делает?
Он говорит компилятору, что регистры пользователь будет сохранять самостоятельно (т.е. компилятор их попросту не сохраняет)
Поделиться972014-02-05 17:45:23
А с регистрами X Y Z не получится так, как я писал выше?
Поделиться982014-02-05 22:59:08
Тут ничем не подскажу, это к гуру нашим )))
Поделиться992014-02-06 13:06:44
А как из ассемблера поиметь доступ к 16-и разрядным регистрам X, Y, и Z ???
$map ' Получаем карту распределения памяти компилятором Bascom
$regfile = "m8def.dat" ' Используемый контроллер
$crystal = 1000000 ' 1 МГц
$framesize = 32 'размер области используемой и необходимой для преобразований
$hwstack = 40 ' Размер аппаратного стека
$swstack = 16 ' Размер программного стекаDim Переменная_word As Word
'===============================================================================
' Г Л А В Н Ы Й Ц И К Л
'===============================================================================
Главный_цикл:
nopIncr Переменная_word
Waitms 300
!Ldi R26 , {Переменная_word}
!Ldi R27 , 0
!Ld R30 , X+
!Ld R31 , X
!Subi R30 , &HFF
!Sbci R31 , &HFF
!St X , R31
!St -x , R30Waitms 300
Goto Главный_цикл
End
'===============================================================================
' П О Д П Р О Г Р А М М Ы
'===============================================================================
Обязательно ли сохранять Sreg в обработчике прерывания?
Если используются логические или арифметические операции, сохранение SREG обязательно, в других случаях на Ваше усмотрение.
Отредактировано sasha_1973 (2014-02-06 16:57:31)
Поделиться1002014-02-19 14:12:37
Привет!
Платка с TM1638 приехала.
И вопросик, как сделать задержку на 100-150 и 400-450 наносекунд программно? Как посчитать? 2560 мега 15 мГц.
Поделиться1012014-02-19 15:22:35
100ns = 10MHz
400ns = 2.5MHz
далее тактами команд вымеряем (nop-ами и циклами)
Поделиться1022014-02-19 15:31:20
Это ОДНА команда на ассемблере?
Поделиться1032014-02-19 17:04:08
зависит от команды, в основном - да
http://dfe.karelia.ru/koi/posob/avrlab/avrasm-rus.htm
Поделиться1042014-02-19 22:34:36
СПСБ!
Поделиться1052014-10-29 13:05:36
А команды ShiftIn и ShiftOut как работают? Допустим, я хочу передать и принять пачку последовательных импульсов. Ничего синхронизировать не надо?