Страница 234 из 304

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

Добавлено: Вт сен 15, 2015 18:11:01
bumbum
Все биты. Было "12345678" - сделать "87654321"

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

Добавлено: Вт сен 15, 2015 18:18:14
sasha_1973
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

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

Добавлено: Вт сен 15, 2015 18:21:26
bumbum
Эта команда, делает кольцевой сдвиг. "Зеркало" не получится.

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

Добавлено: Вт сен 15, 2015 18:22:18
sasha_1973
bumbum писал(а):Эта команда, делает кольцевой сдвиг.

Всё правильно, кольцевое вращение бит в переменной

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

Добавлено: Вт сен 15, 2015 18:22:55
sasha_1973
bumbum писал(а):Эта команда, делает кольцевой сдвиг.

Всё правильно, кольцевое вращение бит в переменной

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

Добавлено: Вт сен 15, 2015 18:24:21
bumbum
sasha_1973 писал(а):
bumbum писал(а):Эта команда, делает кольцевой сдвиг.

Всё правильно, кольцевое вращение бит в переменной
было "12345678" - станет "81234567" или "23456781"

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

Добавлено: Вт сен 15, 2015 21:12:48
kip96
bumbum писал(а):Все биты. Было "12345678" - сделать "87654321"
Смотрите в Хелпе swap
или тупо
a=b
a.0=b.7
a.1=b.6
и т.д.

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

Добавлено: Вт сен 15, 2015 21:15:40
Moto_v3x
bumbum посмотрите Shiftout может подойдет

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

Добавлено: Ср сен 16, 2015 06:43:30
bumbum
Moto_v3x писал(а):bumbum посмотрите Shiftout может подойдет
Не подойдет. Как я понимаю - это тоже сдвиг (вывод в последовательный порт)

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

Добавлено: Ср сен 16, 2015 06:48:24
bumbum
kip96 писал(а):
bumbum писал(а):Все биты. Было "12345678" - сделать "87654321"
Смотрите в Хелпе swap
или тупо
a=b
a.0=b.7
a.1=b.6
и т.д.
Swap меняет местами полубайты.
А вот вариант "тупо" сработал :)) :)) :))
Меня, пока, вполне устраивает . Спасибо!!! :))

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

Добавлено: Чт сен 17, 2015 09:59:17
koteika
edm2007 писал(а):Жду ответ от Вас, уже на баскоме. :tea:



а как мне вот это:
"uint8_t bright[8] = {40, 70, 100, 150, 180, 200, 220, 250}; // значения яркости 8-ми каналов"

в баскоме записать? это массив делать нужно? а не очень въехал :(

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

Добавлено: Чт сен 17, 2015 12:40:18
vem566
koteika писал(а):это массив делать нужно?
Только массив данных. С константами.
Типа

bright:
DATA 40, 70, 100, 150, 180, 200, 220, 250

Обращение к нему соответственно
A = Lookup(0, bright)
B = Lookup(1, bright)

и т. д.
Индексация элементов массива начинается с нуля.

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

Добавлено: Чт сен 17, 2015 12:45:00
koteika
vem566 писал(а):Только массив данных. С константами.
а в какой части кода мне его объявлять? в начале после переменных?
и "Lookup" что это?

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

Добавлено: Чт сен 17, 2015 13:14:04
vem566
В любом, после основного цикла Do-Loop.
Lookup - это функция извлечения данных из массивов. Подробно расписана в хелпе.

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

Добавлено: Чт сен 17, 2015 13:46:12
edm2007
Это не константы. Это значения яркости всех каналов. А значит - переменные. Можете создать отдельно каждую переменную, а можете скопом:

Код: Выделить всё

Dim Bright(8) as Byte
Только инициализировать при создании их нельзя. И в отличии от Си индекс их начинается с 1.

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

Добавлено: Чт сен 17, 2015 15:01:26
vem566
edm2007 писал(а):Это не константы. Это значения яркости всех каналов. А значит - переменные.
Ни разу это не значит, что переменные.
Переменные, это данные, которые могут иметь разное значения в разное время работы программы.

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

Добавлено: Чт сен 17, 2015 15:03:44
edm2007
Этот код писал я. И я говорю - это переменные. :)) Они могут иметь разные значения, так как это программный ШИМ для регулировки яркости светодиодов.

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

Добавлено: Чт сен 17, 2015 15:18:04
vem566
Тогда нужно корректно задавать вопрос.

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

Добавлено: Пн сен 21, 2015 20:20:12
SIM31
Не хватает памяти, использую всего 4 переменных по 4 байта, и 3 типа Word по 2 байта, всего около 20 байт, новую добавить не могу - нет памяти.

Для attiny13, у которой 64 байта памяти, как правильно прописать заголовок? По умолчанию Bascom прописывает что-то странное, в примерах из интернета нашел всё по 16 байт
$hwstack = 16
$swstack = 16
$framesize = 16
прерывания не используются (стеки не нужны?), всё в одном цикле, одна подпрограмма с вызовом по GoSub (можно убрать если память занимает).

Программа поместилась, немного оптимизировал и ушел от 4х байтовых переменных, но на будущее интересно, может там можно точнее указать по распределению памяти что-то.

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

Добавлено: Пн сен 21, 2015 20:51:17
Tankor
SIM31 писал(а): Программа поместилась, немного оптимизировал и ушел от 4х байтовых переменных, но на будущее интересно, может там можно точнее указать по распределению памяти что-то.
Сама программа где? В хедпе васика есть, но надо с английским дружить или онлайн переводчик использовать.