Обсуждаем контроллеры компании Atmel.
Чт мар 14, 2019 09:06:51
Привет всем)
Подскажите по сторожевому таймеру.
Если я использую команды в программе
Config Watchdog 16|32|64|128|256|512|1024|2048
Start Watchdog
Stop Watchdog
Reset Watchdog
нужно ли выставлять фьюз "Сторожевой таймер всегда включен"?
Вообще - какие тонкости использования этого фьюза?
Чт мар 14, 2019 09:19:33
если фьюз прошит, то собаку не прибить... вот и всё.
если нет, то собака может работать, а может и не работать (её из программы можно полностью отключать)
Чт мар 28, 2019 12:53:21
Привет КотаФеям.
Вопрос к знатокам "Bascom"
Мне нужно в переменной "WORD" изменять либо младший байт либо старший переменными "BYTE"
конструкция типа "HIGH(Var_Word)" = "Var_Byte" выдает ошибку.
Если просто "Var_Word" = "Var_Byte" то старший байт почему то НУЛИ.
Чт мар 28, 2019 13:47:44
Вам поможет Overlay.
Чт мар 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 по большому счёту.
Хотелось бы проще.
Чт мар 28, 2019 14:30:08
Overlay очень простое решение. Со смартфона писать очень не удобно, если сами не найдете, позже выложу пример.
Чт мар 28, 2019 14:58:10
andrusha152 хорошо бы посмотреть пример, пока ничего кроме Ассемблерных вставок не придумал.
Чт мар 28, 2019 15:23:56
Dim Число as Word ' ваша переменная
Dim Число_2 as Byte At Число Overlay " младший байт
Dim Число_1 as Byte At Число + 1 Overlay ' старший байт
В программе можете читать изменять Число_1 или Число_2. Автоматически будет меняться вся переменная Число.
Чт мар 28, 2019 15:44:49
andrusha152 СПАСИБО
Проверил, ВСЕ работает как и надо было.
Ещо раз Большое спасибо.
Просто, коротко и ясно.
Чт мар 28, 2019 17:15:38
Пожалуйста.
Чт мар 28, 2019 18:12:13
Работал кто с дисплеями на контроллере ST7528?
Потому как официальных библиотек под него не нашел.
Спрашиваю потому, чтобы не делать что то свое, если кто-то уже это сделал.
Чт мар 28, 2019 19:44:48
На bascom.at.ua не смотрели? Там много библиотек для разных дисплеев.
Чт мар 28, 2019 19:52:18
Смотрел, не нашел.
Есть на с, скорее всего придется делать что то свое.
Пн апр 08, 2019 18:02:18
Привет КотаФеям.
Подскажите как не прибегая к ассемблерным вставкам осуществить сдвиг Вправо-Влево через перенос ?
Команда "ROTATE" просто вращает биты по кругу.
Вт апр 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
Вт апр 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
'
Всё это как то громоздко.
Жалко, Буду искать.
Пт май 17, 2019 12:11:20
Дел..
Пт май 17, 2019 13:28:15
Disable отключает таймер. Что он там будет делать дальше - см. даташит. Да и какая разница, что он будет делать, если выключен. Скорее всего просто стоять.
Есть еще команда Stop Timer1. Ну и соответственно Start Timer1.
По стопу таймер сразу останавливается, но не сбрасывается, а по старту продолжает счет. Ну и еще всякие команды установки счетчика таймера в нужное состояние.
Чт июн 06, 2019 20:43:29
Как восстановить файл *.bas?
Во время компиляции из-за PL2303 комп ушел в синий экран. После запуска системы файл *.bas был в том же объеме (19 Кб), но при открытии там пустота полная.
Пт июн 07, 2019 05:49:41
/ /никак не восстановить, по новой писать
Последний раз редактировалось
raf65 Пт июн 07, 2019 06:02:49, всего редактировалось 3 раз(а).
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.