У меня вопрос по дисплеям нокиа 3310 и 5110-может кто решил Как рисовать линии?бывает ли такая библиотека?или лучше создавать буфер на 504 ячейки,складывать рисунок туда и потом все передавать в жки как картинку?
вопрос по I2C Одно устройство подключено по I2C к одним портам(Config Scl = Portc.5,Config Sda = Portc.4),второе к другим(Config Scl = Portc.0,Config Sda = Portc.1),как переназначать программно порты?
Удалось решить этот вопрос? Если нет, вот пример с сайта Баскома, случайно нашел.
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650.
Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Накидайте пожалуйста простую программу. Аттини 2313. Пусть на порт PB3 будет повешена кнопка, а на порт PB2 светодиод. кнопка подтянута на плюс внешним резистором 10Ком. Надо чтобы светодиод вспыхивал каждое 3-е нажатие кнопки например на 100милисекунд. то есть жмём кнопку 1-2-3 (вспышка) 4-5-6 (вспышка) 7-8-9 (вспышка) Да, антидребезг нужен.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
4-й день бьюсь. Уже надоело. Без антидребезга у меня то на 2-е, то на 4-е нажатие срабатывает. А как всё это написать через прерывания я не осиляю. Готового примера в сети тоже не нашёл.
Спасибо за помощь. Получилось следующее. Всё работает в протеусе, но почему то моргает не 0,1 Сек а где-то 1-1,5Сек, как будто код выполняется очень медленно или это просто глюк протеуса? И ещё вопрос почему при объявлении переменной для Аттини 13 протеус выдаёт ошибку, а для 2313 всё нормально. Не ужели не хватает памяти ? использую протеус версии 8,6 sp2
$regfile = "attiny2313.dat" $crystal = 8000000 Config Portb.3 = Input 'настройка пина b3 на вход(S1) Config Portb.2 = Output 'настройка пина b2 на выход(LED1) Dim N As Byte ' Объявляем переменную N как байт Do 'начало цикла If Pinb.3 = 0 Then 'опрос кнопки и присвоение переменной N соответствующего значения Waitms 10 ' задержка антидребезга Bitwait Pinb.3 , Set 'ждём отпускания кнопки N = N + 1 'с каждым нажатием увеличиваем N на 1 End If If N = 3 Then Portb.2 = 1 Else Portb.2 = 0 ' 0 /@ If N = 3 Then waitms 100 ' Если светит, ждём 0,1С (моргаем) If N = 3 Then N = 0 'N равен 3, то обнуляем Loop 'конец цикла
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт июн 01, 2018 19:18:11
Первый раз сказал Мяу!
Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Вс май 15, 2016 19:02:01 Сообщений: 28 Откуда: Украина
Рейтинг сообщения:0
Немного причешу ваш код
Код:
$regfile = "attiny2313.dat" $crystal = 8000000 Config Pinb.3 = Input 'настройка пина b3 на вход(S1) Config Portb.2 = Output 'настройка пина b2 на выход(LED1) Dim N As Byte ' Объявляем переменную N как байт Config Debounce = 150 ' антидребезг Reset Portb.2 N = 0 Do If Pinb.3 = 0 Then Bitwait Pinb.3 , Set Incr N If N = 3 Then Set Portb.2 Waitms 100 Reset Portb.2 N = 0 End If End If Loop 'конец цикла End
Чтобы в Протеусе показывало правильно уберите галочку с фьюза CKDIV8.
код работает так. при T более 27 градусов реле включает нагрузку- вентиляторы. соответственно менее 27 реле не включается. НО при таком коде считывается данные термодатчика каждую секунду, из за чего постоянно включается \выключается реле. подскажите как изменить код так, что бы работало след образом - 1. измерял температуру не каждую секунду, а раз в 10 минут. 2. прошло 10 минут - измерил, если более 27 включил реле, снизил до 27 и выключился. помогите пожалуйста!
Так не получится. Измерение раз в 10 минут. За это время температура может снизиться и до 20 градусов и ниже. Отсчет времени лучше всего делать по прерыванию таймера. Берете переменную, в обработчике прерывания таймера инкременируете ее. Когда она достигает определенного значения, меряете температуру, переменную сбрасываете в ноль. Включаете вентилятор. Но вентилятор будет крутить до следующего измерения.
Так, видимо, и не планировалось оттуда выбираться. Если датчика нет, то усё, приехали.
_________________ "Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения