Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Бытовая и промышленная техника, авто, мото и т.п. » Контроллер для горелки на отработанном масле на Mega 2560


Контроллер для горелки на отработанном масле на Mega 2560

Сообщений 91 страница 105 из 105

91

Ура! Всё получилось! Бутлоадер пишется по адресу 0x1F800!!!
2 дня плясок!

0

92

-NMi- написал(а):

Ура! Всё получилось! Бутлоадер пишется по адресу 0x1F800!!!
2 дня плясок!

Че было, партизан ? ))))
Бубен не из человеческой кожи или пел так, что духам не нравилось ? ))

Отредактировано Skull (2014-01-29 20:36:17)

0

93

Сам виноват, не додумал.
---
Так, давайте по прерываниям пинайте меня, как с ними работать?
---
Нужно клаву опрашивать, ну скажем ... 6Гц на прерываниях и + флаг обновления датчиков температуры раз в 2 секунды...
---
Ребят, я создал канал в Zello.com для общения реального, называется AVRProject, присоединяйтесь, пообщаемся!

0

94

-NMi- написал(а):

Сам виноват, не додумал.
---
Так, давайте по прерываниям пинайте меня, как с ними работать?
---

Для начала открой хелп, набери INT, посмотри пример. Что не поймешь- поясним. Также посмотри в папке "SAMPLES" работу с таймерами (это к опросу клавиатуры)

Ну, и неплохо было бы не использовать повелительные наклонения в общении. Тебе все равно, а нам приятно, типа доброе дело делаем )

0

95

Так, с таймерами разобрался.
А как из ассемблера поиметь доступ к 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)

0

96

оператор NoSave что делает?

Он говорит компилятору, что регистры пользователь будет сохранять самостоятельно (т.е. компилятор их попросту не сохраняет)

0

97

А с регистрами X Y Z не получится так, как я писал выше?

0

98

Тут ничем не подскажу, это к гуру нашим )))

0

99

-NMi- написал(а):

А как из ассемблера поиметь доступ к 16-и разрядным регистрам X, Y, и Z ???

Incr Переменная_word

$map              ' Получаем карту распределения памяти компилятором Bascom
  $regfile = "m8def.dat"       ' Используемый контроллер
  $crystal = 1000000       ' 1 МГц
  $framesize = 32   'размер области используемой и необходимой для преобразований
  $hwstack = 40     ' Размер аппаратного стека
  $swstack = 16     ' Размер программного стека

  Dim Переменная_word As Word

'===============================================================================
'                   Г Л А В Н Ы Й         Ц И К Л
'===============================================================================
  Главный_цикл:
    nop

    Incr Переменная_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 , R30

    Waitms 300

  Goto Главный_цикл
End
'===============================================================================
'                        П О Д П Р О Г Р А М М Ы
'===============================================================================

-NMi- написал(а):

Обязательно ли сохранять Sreg в обработчике прерывания?

Если используются логические или арифметические операции, сохранение SREG обязательно, в других случаях на Ваше усмотрение.

Отредактировано sasha_1973 (2014-02-06 16:57:31)

0

100

Привет!
Платка с TM1638 приехала.
И вопросик, как сделать задержку на 100-150 и 400-450 наносекунд программно? Как посчитать? 2560 мега 15 мГц.

0

101

100ns = 10MHz
400ns = 2.5MHz
далее тактами команд вымеряем (nop-ами и циклами)

0

102

Это ОДНА команда на ассемблере?

0

103

зависит от команды, в основном - да
http://dfe.karelia.ru/koi/posob/avrlab/avrasm-rus.htm

0

104

СПСБ!

0

105

А команды ShiftIn и ShiftOut как работают? Допустим, я хочу передать и принять пачку последовательных импульсов. Ничего синхронизировать не надо?

0


Вы здесь » Программирование ATMEL в BASCOM. » Бытовая и промышленная техника, авто, мото и т.п. » Контроллер для горелки на отработанном масле на Mega 2560