BASCOM AVR в вопросах и ответах
Re: BASCOM AVR в вопросах и ответах
Все биты. Было "12345678" - сделать "87654321"
-
sasha_1973
- Родился
- Сообщения: 9
- Зарегистрирован: Ср дек 12, 2012 23:51:21
Re: BASCOM AVR в вопросах и ответах
bumbum писал(а):Все биты. Было "12345678" - сделать "87654321"
Syntax
ROTATE var , LEFT/RIGHT[ , shifts]
Var - Byte, Integer/Word or Long variable.
Shifts - The number of shifts to perform.
Rotate переменная_byte , Left , 7
Rotate переменная_byte , Right , 7
Последний раз редактировалось sasha_1973 Вт сен 15, 2015 18:21:28, всего редактировалось 1 раз.
Re: BASCOM AVR в вопросах и ответах
Эта команда, делает кольцевой сдвиг. "Зеркало" не получится.
-
sasha_1973
- Родился
- Сообщения: 9
- Зарегистрирован: Ср дек 12, 2012 23:51:21
Re: BASCOM AVR в вопросах и ответах
bumbum писал(а):Эта команда, делает кольцевой сдвиг.
Всё правильно, кольцевое вращение бит в переменной
-
sasha_1973
- Родился
- Сообщения: 9
- Зарегистрирован: Ср дек 12, 2012 23:51:21
Re: BASCOM AVR в вопросах и ответах
bumbum писал(а):Эта команда, делает кольцевой сдвиг.
Всё правильно, кольцевое вращение бит в переменной
Re: BASCOM AVR в вопросах и ответах
sasha_1973 писал(а):bumbum писал(а):Эта команда, делает кольцевой сдвиг.
Всё правильно, кольцевое вращение бит в переменной
было "12345678" - станет "81234567" или "23456781"
- kip96
- Держит паяльник хвостом
- Сообщения: 965
- Зарегистрирован: Ср авг 26, 2009 08:24:50
- Откуда: 1300км от Пупа
Re: BASCOM AVR в вопросах и ответах
bumbum писал(а):Все биты. Было "12345678" - сделать "87654321"
Смотрите в Хелпе swap
или тупо
a=b
a.0=b.7
a.1=b.6
и т.д.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
- Moto_v3x
- Потрогал лапой паяльник
- Сообщения: 307
- Зарегистрирован: Ср мар 31, 2010 11:45:58
- Откуда: Славянск
Re: BASCOM AVR в вопросах и ответах
bumbum посмотрите Shiftout может подойдет
Re: BASCOM AVR в вопросах и ответах
Moto_v3x писал(а):bumbum посмотрите Shiftout может подойдет
Не подойдет. Как я понимаю - это тоже сдвиг (вывод в последовательный порт)
Re: BASCOM AVR в вопросах и ответах
kip96 писал(а):bumbum писал(а):Все биты. Было "12345678" - сделать "87654321"
Смотрите в Хелпе swap
или тупо
a=b
a.0=b.7
a.1=b.6
и т.д.
Swap меняет местами полубайты.
А вот вариант "тупо" сработал
Меня, пока, вполне устраивает . Спасибо!!!
-
koteika
- Встал на лапы
- Сообщения: 147
- Зарегистрирован: Пт ноя 27, 2009 18:24:25
- Откуда: Харьков
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
edm2007 писал(а):Жду ответ от Вас, уже на баскоме.
а как мне вот это:
"uint8_t bright[8] = {40, 70, 100, 150, 180, 200, 220, 250}; // значения яркости 8-ми каналов"
в баскоме записать? это массив делать нужно? а не очень въехал
Re: BASCOM AVR в вопросах и ответах
koteika писал(а):это массив делать нужно?
Только массив данных. С константами.
Типа
bright:
DATA 40, 70, 100, 150, 180, 200, 220, 250
Обращение к нему соответственно
A = Lookup(0, bright)
B = Lookup(1, bright)
и т. д.
Индексация элементов массива начинается с нуля.
-
koteika
- Встал на лапы
- Сообщения: 147
- Зарегистрирован: Пт ноя 27, 2009 18:24:25
- Откуда: Харьков
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
vem566 писал(а):Только массив данных. С константами.
а в какой части кода мне его объявлять? в начале после переменных?
и "Lookup" что это?
Re: BASCOM AVR в вопросах и ответах
В любом, после основного цикла Do-Loop.
Lookup - это функция извлечения данных из массивов. Подробно расписана в хелпе.
Lookup - это функция извлечения данных из массивов. Подробно расписана в хелпе.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Это не константы. Это значения яркости всех каналов. А значит - переменные. Можете создать отдельно каждую переменную, а можете скопом:
Только инициализировать при создании их нельзя. И в отличии от Си индекс их начинается с 1.
Код: Выделить всё
Dim Bright(8) as Byte
Только инициализировать при создании их нельзя. И в отличии от Си индекс их начинается с 1.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
edm2007 писал(а):Это не константы. Это значения яркости всех каналов. А значит - переменные.
Ни разу это не значит, что переменные.
Переменные, это данные, которые могут иметь разное значения в разное время работы программы.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Этот код писал я. И я говорю - это переменные.
Они могут иметь разные значения, так как это программный ШИМ для регулировки яркости светодиодов.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Тогда нужно корректно задавать вопрос.
- SIM31
- Это не хвост, это антенна
- Сообщения: 1363
- Зарегистрирован: Чт апр 04, 2013 22:22:57
- Откуда: Белгород, РФ
Re: BASCOM AVR в вопросах и ответах
Не хватает памяти, использую всего 4 переменных по 4 байта, и 3 типа Word по 2 байта, всего около 20 байт, новую добавить не могу - нет памяти.
Для attiny13, у которой 64 байта памяти, как правильно прописать заголовок? По умолчанию Bascom прописывает что-то странное, в примерах из интернета нашел всё по 16 байт
прерывания не используются (стеки не нужны?), всё в одном цикле, одна подпрограмма с вызовом по GoSub (можно убрать если память занимает).
Программа поместилась, немного оптимизировал и ушел от 4х байтовых переменных, но на будущее интересно, может там можно точнее указать по распределению памяти что-то.
Для attiny13, у которой 64 байта памяти, как правильно прописать заголовок? По умолчанию Bascom прописывает что-то странное, в примерах из интернета нашел всё по 16 байт
$hwstack = 16
$swstack = 16
$framesize = 16
прерывания не используются (стеки не нужны?), всё в одном цикле, одна подпрограмма с вызовом по GoSub (можно убрать если память занимает).
Программа поместилась, немного оптимизировал и ушел от 4х байтовых переменных, но на будущее интересно, может там можно точнее указать по распределению памяти что-то.
- Tankor
- Встал на лапы
- Сообщения: 139
- Зарегистрирован: Вт май 03, 2011 10:13:12
- Откуда: Россия, Татарстан
Re: BASCOM AVR в вопросах и ответах
SIM31 писал(а):Программа поместилась, немного оптимизировал и ушел от 4х байтовых переменных, но на будущее интересно, может там можно точнее указать по распределению памяти что-то.
Сама программа где? В хедпе васика есть, но надо с английским дружить или онлайн переводчик использовать.
