BASCOM AVR в вопросах и ответах
Re: BASCOM AVR в вопросах и ответах
Привет всем)
Подскажите по сторожевому таймеру.
Если я использую команды в программе
Config Watchdog 16|32|64|128|256|512|1024|2048
Start Watchdog
Stop Watchdog
Reset Watchdog
нужно ли выставлять фьюз "Сторожевой таймер всегда включен"?
Вообще - какие тонкости использования этого фьюза?
Подскажите по сторожевому таймеру.
Если я использую команды в программе
Config Watchdog 16|32|64|128|256|512|1024|2048
Start Watchdog
Stop Watchdog
Reset Watchdog
нужно ли выставлять фьюз "Сторожевой таймер всегда включен"?
Вообще - какие тонкости использования этого фьюза?
- Реклама
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: BASCOM AVR в вопросах и ответах
если фьюз прошит, то собаку не прибить... вот и всё.
если нет, то собака может работать, а может и не работать (её из программы можно полностью отключать)
если нет, то собака может работать, а может и не работать (её из программы можно полностью отключать)
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: BASCOM AVR в вопросах и ответах
Привет КотаФеям.
Вопрос к знатокам "Bascom"
Мне нужно в переменной "WORD" изменять либо младший байт либо старший переменными "BYTE"
конструкция типа "HIGH(Var_Word)" = "Var_Byte" выдает ошибку.
Если просто "Var_Word" = "Var_Byte" то старший байт почему то НУЛИ.
Вопрос к знатокам "Bascom"
Мне нужно в переменной "WORD" изменять либо младший байт либо старший переменными "BYTE"
конструкция типа "HIGH(Var_Word)" = "Var_Byte" выдает ошибку.
Если просто "Var_Word" = "Var_Byte" то старший байт почему то НУЛИ.
- andrusha152
- Первый раз сказал Мяу!
- Сообщения: 28
- Зарегистрирован: Вс май 15, 2016 19:02:01
- Откуда: Украина
Re: BASCOM AVR в вопросах и ответах
Вам поможет Overlay.
Re: BASCOM AVR в вопросах и ответах
Я нашол решение :
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 по большому счёту.
Хотелось бы проще.
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 по большому счёту.
Хотелось бы проще.
- Реклама
- andrusha152
- Первый раз сказал Мяу!
- Сообщения: 28
- Зарегистрирован: Вс май 15, 2016 19:02:01
- Откуда: Украина
Re: BASCOM AVR в вопросах и ответах
Overlay очень простое решение. Со смартфона писать очень не удобно, если сами не найдете, позже выложу пример.
Re: BASCOM AVR в вопросах и ответах
andrusha152 хорошо бы посмотреть пример, пока ничего кроме Ассемблерных вставок не придумал.
- andrusha152
- Первый раз сказал Мяу!
- Сообщения: 28
- Зарегистрирован: Вс май 15, 2016 19:02:01
- Откуда: Украина
Re: BASCOM AVR в вопросах и ответах
Dim Число as Word ' ваша переменная
Dim Число_2 as Byte At Число Overlay " младший байт
Dim Число_1 as Byte At Число + 1 Overlay ' старший байт
В программе можете читать изменять Число_1 или Число_2. Автоматически будет меняться вся переменная Число.
Dim Число_2 as Byte At Число Overlay " младший байт
Dim Число_1 as Byte At Число + 1 Overlay ' старший байт
В программе можете читать изменять Число_1 или Число_2. Автоматически будет меняться вся переменная Число.
Re: BASCOM AVR в вопросах и ответах
andrusha152 СПАСИБО
Проверил, ВСЕ работает как и надо было.
Ещо раз Большое спасибо.
Просто, коротко и ясно.
Проверил, ВСЕ работает как и надо было.
Ещо раз Большое спасибо.
Просто, коротко и ясно.
- andrusha152
- Первый раз сказал Мяу!
- Сообщения: 28
- Зарегистрирован: Вс май 15, 2016 19:02:01
- Откуда: Украина
Re: BASCOM AVR в вопросах и ответах
Пожалуйста.
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Работал кто с дисплеями на контроллере ST7528?
Потому как официальных библиотек под него не нашел.
Спрашиваю потому, чтобы не делать что то свое, если кто-то уже это сделал.
Потому как официальных библиотек под него не нашел.
Спрашиваю потому, чтобы не делать что то свое, если кто-то уже это сделал.
- andrusha152
- Первый раз сказал Мяу!
- Сообщения: 28
- Зарегистрирован: Вс май 15, 2016 19:02:01
- Откуда: Украина
Re: BASCOM AVR в вопросах и ответах
На bascom.at.ua не смотрели? Там много библиотек для разных дисплеев.
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Смотрел, не нашел.
Есть на с, скорее всего придется делать что то свое.
Есть на с, скорее всего придется делать что то свое.
Re: BASCOM AVR в вопросах и ответах
Привет КотаФеям.
Подскажите как не прибегая к ассемблерным вставкам осуществить сдвиг Вправо-Влево через перенос ?
Команда "ROTATE" просто вращает биты по кругу.
Подскажите как не прибегая к ассемблерным вставкам осуществить сдвиг Вправо-Влево через перенос ?
Команда "ROTATE" просто вращает биты по кругу.
Re: BASCOM AVR в вопросах и ответах
Нихрена не получается ни с 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
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 в вопросах и ответах
Привет КотаФеям.
Спасибо за совет.
Я сейчас использую вот такую конструкцию:
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
'
Всё это как то громоздко.
Жалко, Буду искать.
Спасибо за совет.
Я сейчас использую вот такую конструкцию:
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 в вопросах и ответах
Disable отключает таймер. Что он там будет делать дальше - см. даташит. Да и какая разница, что он будет делать, если выключен. Скорее всего просто стоять.
Есть еще команда Stop Timer1. Ну и соответственно Start Timer1.
По стопу таймер сразу останавливается, но не сбрасывается, а по старту продолжает счет. Ну и еще всякие команды установки счетчика таймера в нужное состояние.
Есть еще команда Stop Timer1. Ну и соответственно Start Timer1.
По стопу таймер сразу останавливается, но не сбрасывается, а по старту продолжает счет. Ну и еще всякие команды установки счетчика таймера в нужное состояние.
Re: BASCOM AVR в вопросах и ответах
Как восстановить файл *.bas?
Во время компиляции из-за PL2303 комп ушел в синий экран. После запуска системы файл *.bas был в том же объеме (19 Кб), но при открытии там пустота полная.
Во время компиляции из-за PL2303 комп ушел в синий экран. После запуска системы файл *.bas был в том же объеме (19 Кб), но при открытии там пустота полная.
Re: BASCOM AVR в вопросах и ответах
/ /никак не восстановить, по новой писать
Последний раз редактировалось raf65 Пт июн 07, 2019 06:02:49, всего редактировалось 3 раза.


