Обсуждаем контроллеры компании Atmel.
Ответить

Re: BASCOM AVR в вопросах и ответах

Чт мар 14, 2019 09:06:51

Привет всем)
Подскажите по сторожевому таймеру.
Если я использую команды в программе
Config Watchdog 16|32|64|128|256|512|1024|2048
Start Watchdog
Stop Watchdog
Reset Watchdog

нужно ли выставлять фьюз "Сторожевой таймер всегда включен"?
Вообще - какие тонкости использования этого фьюза?

Re: BASCOM AVR в вопросах и ответах

Чт мар 14, 2019 09:19:33

если фьюз прошит, то собаку не прибить... вот и всё.
если нет, то собака может работать, а может и не работать (её из программы можно полностью отключать)

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 12:53:21

Привет КотаФеям.

Вопрос к знатокам "Bascom"
Мне нужно в переменной "WORD" изменять либо младший байт либо старший переменными "BYTE"
конструкция типа "HIGH(Var_Word)" = "Var_Byte" выдает ошибку.
Если просто "Var_Word" = "Var_Byte" то старший байт почему то НУЛИ.

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 13:47:44

Вам поможет Overlay.

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 14:05:28

Я нашол решение :

Loadadr Var_Word , X
Loadadr Var_Byte , Y

Запись в младший байт переменной типа "WORD"
$asm

LD R16,Y
ST X,R16

'$end Asm

Запись в старший байт переменной типа "WORD"
$asm

LD R16,Y
ADIW XL,1
ST X,R16

'$end Asm

По мне это долго и муторно, потом надо сохранять в стеке рабочие и индексные регистры, да и SREG по большому счёту.

Хотелось бы проще.

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 14:30:08

Overlay очень простое решение. Со смартфона писать очень не удобно, если сами не найдете, позже выложу пример.

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 14:58:10

andrusha152 хорошо бы посмотреть пример, пока ничего кроме Ассемблерных вставок не придумал.

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 15:23:56

Dim Число as Word ' ваша переменная
Dim Число_2 as Byte At Число Overlay " младший байт
Dim Число_1 as Byte At Число + 1 Overlay ' старший байт

В программе можете читать изменять Число_1 или Число_2. Автоматически будет меняться вся переменная Число.

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 15:44:49

andrusha152 СПАСИБО :)

Проверил, ВСЕ работает как и надо было.

Ещо раз Большое спасибо.

Просто, коротко и ясно.

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 17:15:38

Пожалуйста.

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 18:12:13

Работал кто с дисплеями на контроллере ST7528?
Потому как официальных библиотек под него не нашел.
Спрашиваю потому, чтобы не делать что то свое, если кто-то уже это сделал.

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 19:44:48

На bascom.at.ua не смотрели? Там много библиотек для разных дисплеев.

Re: BASCOM AVR в вопросах и ответах

Чт мар 28, 2019 19:52:18

Смотрел, не нашел.
Есть на с, скорее всего придется делать что то свое.

Re: BASCOM AVR в вопросах и ответах

Пн апр 08, 2019 18:02:18

Привет КотаФеям.
Подскажите как не прибегая к ассемблерным вставкам осуществить сдвиг Вправо-Влево через перенос ?
Команда "ROTATE" просто вращает биты по кругу.

Re: BASCOM AVR в вопросах и ответах

Вт апр 09, 2019 11:43:10

Нихрена не получается ни с ROTATE, ни с SHIFT. Токмо так. И надо знать адрес переменной (по симулятору видно). В моём разе r24.
BASCOM чутка недобитый, падла.
Dim Dd As Byte
Dd = 85
$asm
ror r24 ;это
ror r24 ;всё
ror r24 ;можно
ror r24 ;в
ror r24 ;цикл
ror r24 ;запихать
ror r24 ;
ror r24 ;
ror r24 ;
$end Asm

Re: BASCOM AVR в вопросах и ответах

Вт апр 09, 2019 14:03:52

Привет КотаФеям.
Спасибо за совет.
Я сейчас использую вот такую конструкцию:

Loadadr Переменная_1, X
Loadadr Переменная_2, Y
Loadadr Carry_bit_sreg , Z - переменная 0 бит которой использую для занесения значения в Флаг С (SREG)
'
$asm
PUSH R16
PUSH R17
PUSH XL
PUSH XH
PUSH YL
PUSH YH
PUSH ZL
PUSH ZH
'
LD R17,Z
LD R16,X
ROR R17 - заношу 0 бит в флаг С (SREG)
ROL R16 - сдвигаю уже с учётом флага С (SREG)
ST Y,R16 - сохраняю результат в переменной 2
'
POP ZH
POP ZL
POP YH
POP YL
POP XH
POP XL
POP R17
POP R16
$end Asm
'
Всё это как то громоздко.

Жалко, Буду искать.

Re: BASCOM AVR в вопросах и ответах

Пт май 17, 2019 12:11:20

Дел..

Re: BASCOM AVR в вопросах и ответах

Пт май 17, 2019 13:28:15

Disable отключает таймер. Что он там будет делать дальше - см. даташит. Да и какая разница, что он будет делать, если выключен. Скорее всего просто стоять.
Есть еще команда Stop Timer1. Ну и соответственно Start Timer1.
По стопу таймер сразу останавливается, но не сбрасывается, а по старту продолжает счет. Ну и еще всякие команды установки счетчика таймера в нужное состояние.

Re: BASCOM AVR в вопросах и ответах

Чт июн 06, 2019 20:43:29

Как восстановить файл *.bas?
Во время компиляции из-за PL2303 комп ушел в синий экран. После запуска системы файл *.bas был в том же объеме (19 Кб), но при открытии там пустота полная.

Re: BASCOM AVR в вопросах и ответах

Пт июн 07, 2019 05:49:41

/ /никак не восстановить, по новой писать
Последний раз редактировалось raf65 Пт июн 07, 2019 06:02:49, всего редактировалось 3 раз(а).
Ответить