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

Обсуждаем контроллеры компании Atmel.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Как сгенерировать случайное число, например с 100 по 999 ?
Сейсас сделано так - к числу 111 постоянно плюсуется 19 в переменные типа byte. Вот и получается все кроме случайных чисел.
Реклама
Аватара пользователя
mr4ester
Держит паяльник хвостом
Сообщения: 900
Зарегистрирован: Чт авг 27, 2009 20:09:01
Откуда: Приднестровье г.Бендеры
Контактная информация:

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

Сообщение mr4ester »

не знаю поможет ли это

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

var = RND( limit ) 
это было раннее в форуме
а это взято из нэлпа

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

$regfile = "m48def.dat"                                     ' specify the used micro

$crystal = 4000000                                         ' used crystal frequency

$baud = 19200                                               ' use baud rate

$hwstack = 32                                               ' default use 32 for the hardware stack

$swstack = 10                                               ' default use 10 for the SW stack

$framesize = 40                                             ' default use 40 for the frame space

 

Dim I As Word                                               ' dim variable

Do

 I = Rnd(40)                                               'get random number (0-39)

Print I                                                   'print the value

Wait 1                                                   'wait 1 second

Loop                                                       'for ever

End
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
Реклама
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Спасибо, помогло :)
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Внезапно перестал работать ЖКИ AC-162D-YJLY57H. Выдрал из таксофона...
Работал нормально месяца 2, потом вдруг засветились все пиксели одновременно, перезапустил схему и уже засветился только верхний ряд знакомест - так словно ни к чему не подключен.
Управляющий контроллер работает нормально, проверено на втором ЖКИ.
Программа написана баскоме.

Ума не приложу что могло случится... Работала схема в тот момент от аккумулятора 4,2В...

Кто сталкивался?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
mr4ester
Держит паяльник хвостом
Сообщения: 900
Зарегистрирован: Чт авг 27, 2009 20:09:01
Откуда: Приднестровье г.Бендеры
Контактная информация:

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

Сообщение mr4ester »

может провод сигнальный отвалился?
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
Реклама
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Сам в шоке, ничего не отваливалось...
Просто сделал эксперементальный девайс, который должен был автономно работать хз сколько...
Это МК, ЖКИ, Солнечная батарея, Аккумулятор и пара светодиодов в нагрузке. Оно мне должно было показывать постоянно состояние всего этого, ну чтобы понять - стоит ли городить что то автономное.
Девайс проработал все время нормально.

проверял сигнал на всех ногах ЖКИ, все гуд...
Реклама
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Подскажите как в условии указать значения от и до?
Например есть -

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

if w = 5 and w1 = 20 then
то ... выполняем что то
end if

А как указать чтобы выполнялось действие, если переменная "w" находится в пределах от 5 до 20?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

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

if w >= 5 and w1 =< 20 then
то ... выполняем что то
end if
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Не, так не пойдет... это он приравнимает одновременно две разные переменные.
Мне это нужно для часов, так как регулировку яркости для данного индикатора нельзя применить, то хотябы сделать чтобы меньше цифр светило ночью.

сделал пока что так -

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

If W => 23 Or W =< 7 Then : Goto Displey2 : Else : Goto Displey1 : End If
Значит - с 23 по 7 утра выводит только час и минуты, а после и все остальное (календарь, напоминания, состояние освещения, температуру...).

Еще была идея - добавить еще одну переменную и в 23 делать ее 1 а в 7 обнулять. И в зависимости от этой переменной выводить данные на ЖКИ.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

vanyap1 писал(а):так как регулировку яркости для данного индикатора нельзя применить
Для такого дисплея логичнее яркостью подсветки управлять (если она имеется, конечно). А урезать информацию на дисплее ночью как-то совсем не логично. Она же в глаза не светит. Если это не OLED, конечно...

Что же касается диапазона значений переменной, то всяко - разно можно проверять. И через Select Case в том числе.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

В том то и дело что индикатор OLED... Гдето читал что его можно модернизировать для регулировки яркостью.
Урезать информацию не логично, но дисплей освещает целую комнату, так что придется. А до 6 утра итак не интересно какой там день, число.. А в 6 вернуть информативность.

Еще придется поставить опрос термометра на отдельный таймер, ато он опрашивается в каждые 30 сек, тоесть каждую минуту.
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Сюдя по описанию это обычний дисплей 16х2 с желтой подсветкой. Поэтому подсветкой можно управлять обычным ШИМ-ом.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

vanyap1 писал(а):В том то и дело что индикатор OLED
А, ну тогда другое дело.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

max50 писал(а):Сюдя по описанию это обычний дисплей 16х2 с желтой подсветкой. Поэтому подсветкой можно управлять обычным ШИМ-ом.
Этот дисплей ни с того ни с сего перестал работать.

А тот который в часах - WEH001602DBPP5N00000. Описание у меня есть.
Аватара пользователя
max50
Мучитель микросхем
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

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

Сообщение max50 »

Теперь понятно.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

vanyap1 писал(а):Не, так не пойдет...
Так это немного модифицированный ВАШ код.
Нужно было вам правильно написать, а не внести ошибку в имя переменной.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Спасибо, я уже разобрался :)
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 486
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

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

Сообщение Gordon Shumway »

Всем доброго времени суток !

Появился вопрос. Глупый вопрос, я полагаю, но тем не менее...

Имеется переменная типа bit, в процессе работы программы принимает значения "0" или "1".
В какой-то момент мне нужно обязательно сохранить значение этой переменной в eeprom, чтобы позже восстановить.
Иначе логика работы девайса нарушится. Но Bascom при компиляции ругается на строку c writeeeprom, а переменные типа byte пишет в eeprom нормально...
С уважением,
Алексей.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

У меня тоже была такая проблема. Решил. Сделал переменную типа byte, и обнулял если больше 2.
А то никак не хотел в епром сохранять.
Аватара пользователя
dimon-790
Мучитель микросхем
Сообщения: 442
Зарегистрирован: Пт авг 29, 2008 09:22:37
Контактная информация:

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

Сообщение dimon-790 »

кто знает ? как можно вытянуть числа из 5-ти байт в одну переменную ? в каждом байте число от 0 до 9
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
Ответить

Вернуться в «AVR»