Сейсас сделано так - к числу 111 постоянно плюсуется 19 в переменные типа byte. Вот и получается все кроме случайных чисел.
BASCOM AVR в вопросах и ответах
Как сгенерировать случайное число, например с 100 по 999 ?
Сейсас сделано так - к числу 111 постоянно плюсуется 19 в переменные типа byte. Вот и получается все кроме случайных чисел.
Сейсас сделано так - к числу 111 постоянно плюсуется 19 в переменные типа byte. Вот и получается все кроме случайных чисел.
- Реклама
не знаю поможет ли это это было раннее в форуме
а это взято из нэлпа
Код: Выделить всё
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
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
Спасибо, помогло 
Внезапно перестал работать ЖКИ AC-162D-YJLY57H. Выдрал из таксофона...
Работал нормально месяца 2, потом вдруг засветились все пиксели одновременно, перезапустил схему и уже засветился только верхний ряд знакомест - так словно ни к чему не подключен.
Управляющий контроллер работает нормально, проверено на втором ЖКИ.
Программа написана баскоме.
Ума не приложу что могло случится... Работала схема в тот момент от аккумулятора 4,2В...
Кто сталкивался?
Работал нормально месяца 2, потом вдруг засветились все пиксели одновременно, перезапустил схему и уже засветился только верхний ряд знакомест - так словно ни к чему не подключен.
Управляющий контроллер работает нормально, проверено на втором ЖКИ.
Программа написана баскоме.
Ума не приложу что могло случится... Работала схема в тот момент от аккумулятора 4,2В...
Кто сталкивался?
может провод сигнальный отвалился?
Работа избавляет нас от трех великих зол: скуки, порока, нужды. (Вольтер)
- Реклама
Сам в шоке, ничего не отваливалось...
Просто сделал эксперементальный девайс, который должен был автономно работать хз сколько...
Это МК, ЖКИ, Солнечная батарея, Аккумулятор и пара светодиодов в нагрузке. Оно мне должно было показывать постоянно состояние всего этого, ну чтобы понять - стоит ли городить что то автономное.
Девайс проработал все время нормально.
проверял сигнал на всех ногах ЖКИ, все гуд...
Просто сделал эксперементальный девайс, который должен был автономно работать хз сколько...
Это МК, ЖКИ, Солнечная батарея, Аккумулятор и пара светодиодов в нагрузке. Оно мне должно было показывать постоянно состояние всего этого, ну чтобы понять - стоит ли городить что то автономное.
Девайс проработал все время нормально.
проверял сигнал на всех ногах ЖКИ, все гуд...
Подскажите как в условии указать значения от и до?
Например есть -
А как указать чтобы выполнялось действие, если переменная "w" находится в пределах от 5 до 20?
Например есть -
Код: Выделить всё
if w = 5 and w1 = 20 then
то ... выполняем что то
end if
А как указать чтобы выполнялось действие, если переменная "w" находится в пределах от 5 до 20?
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
Код: Выделить всё
if w >= 5 and w1 =< 20 then
то ... выполняем что то
end ifНе, так не пойдет... это он приравнимает одновременно две разные переменные.
Мне это нужно для часов, так как регулировку яркости для данного индикатора нельзя применить, то хотябы сделать чтобы меньше цифр светило ночью.
сделал пока что так -
Значит - с 23 по 7 утра выводит только час и минуты, а после и все остальное (календарь, напоминания, состояние освещения, температуру...).
Еще была идея - добавить еще одну переменную и в 23 делать ее 1 а в 7 обнулять. И в зависимости от этой переменной выводить данные на ЖКИ.
Мне это нужно для часов, так как регулировку яркости для данного индикатора нельзя применить, то хотябы сделать чтобы меньше цифр светило ночью.
сделал пока что так -
Код: Выделить всё
If W => 23 Or W =< 7 Then : Goto Displey2 : Else : Goto Displey1 : End IfЕще была идея - добавить еще одну переменную и в 23 делать ее 1 а в 7 обнулять. И в зависимости от этой переменной выводить данные на ЖКИ.
Для такого дисплея логичнее яркостью подсветки управлять (если она имеется, конечно). А урезать информацию на дисплее ночью как-то совсем не логично. Она же в глаза не светит. Если это не OLED, конечно...vanyap1 писал(а):так как регулировку яркости для данного индикатора нельзя применить
Что же касается диапазона значений переменной, то всяко - разно можно проверять. И через Select Case в том числе.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
В том то и дело что индикатор OLED... Гдето читал что его можно модернизировать для регулировки яркостью.
Урезать информацию не логично, но дисплей освещает целую комнату, так что придется. А до 6 утра итак не интересно какой там день, число.. А в 6 вернуть информативность.
Еще придется поставить опрос термометра на отдельный таймер, ато он опрашивается в каждые 30 сек, тоесть каждую минуту.
Урезать информацию не логично, но дисплей освещает целую комнату, так что придется. А до 6 утра итак не интересно какой там день, число.. А в 6 вернуть информативность.
Еще придется поставить опрос термометра на отдельный таймер, ато он опрашивается в каждые 30 сек, тоесть каждую минуту.
Сюдя по описанию это обычний дисплей 16х2 с желтой подсветкой. Поэтому подсветкой можно управлять обычным ШИМ-ом.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
А, ну тогда другое дело.vanyap1 писал(а):В том то и дело что индикатор OLED
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Этот дисплей ни с того ни с сего перестал работать.max50 писал(а):Сюдя по описанию это обычний дисплей 16х2 с желтой подсветкой. Поэтому подсветкой можно управлять обычным ШИМ-ом.
А тот который в часах - WEH001602DBPP5N00000. Описание у меня есть.
Теперь понятно.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Спасибо, я уже разобрался 
Всем доброго времени суток !
Появился вопрос. Глупый вопрос, я полагаю, но тем не менее...
Имеется переменная типа bit, в процессе работы программы принимает значения "0" или "1".
В какой-то момент мне нужно обязательно сохранить значение этой переменной в eeprom, чтобы позже восстановить.
Иначе логика работы девайса нарушится. Но Bascom при компиляции ругается на строку c writeeeprom, а переменные типа byte пишет в eeprom нормально...
Появился вопрос. Глупый вопрос, я полагаю, но тем не менее...
Имеется переменная типа bit, в процессе работы программы принимает значения "0" или "1".
В какой-то момент мне нужно обязательно сохранить значение этой переменной в eeprom, чтобы позже восстановить.
Иначе логика работы девайса нарушится. Но Bascom при компиляции ругается на строку c writeeeprom, а переменные типа byte пишет в eeprom нормально...
С уважением,
Алексей.
Алексей.
У меня тоже была такая проблема. Решил. Сделал переменную типа byte, и обнулял если больше 2.
А то никак не хотел в епром сохранять.
А то никак не хотел в епром сохранять.
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
кто знает ? как можно вытянуть числа из 5-ти байт в одну переменную ? в каждом байте число от 0 до 9
Все мы работаем по методу Робинзона Крузо – ждем пятницу.


