BASCOM AVR в вопросах и ответах
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
_Vasilij_ писал(а): Если для машины, то рекомендую производить серию замеров, типа 10 захватов, потом суммируем и делим на 10 - в железе(на авто) работает стабильней. А с одним измерением красиво только от генератора импульсов на столе получается, а на реальном авто неравномерность всетаки какая-то, а по усредненному уже ближе к теме. Ds18b20 тоже не любит прерываний в момент своего общения и иногда можете ересь показывать.
Да для машины. Может хоть примерно набросаете как эти 10 захватов делать. А то я в этих делах новичек.
Re: BASCOM AVR в вопросах и ответах
Ну имеется ввиду десять измерений подряд, складывая результат в переменную. А потом переменную поделить на 10.
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
А каким образмо провести десять измерений не выводя на экран промежуточные измерения? Ссори я новичек.
Re: BASCOM AVR в вопросах и ответах
Например, так:
Код: Выделить всё
Dim Temp As Byte
Dim A As Word
Dim B As Word
A = 0
B = 0
For Temp = 0 To 9 ' 10 раз измеряем...
A = Getadc(0)
B = B + A ' ...суммируем
Next
B = B / 10 ' ...делим на 10 для усреднения результатов
' B - Ваш конечный результат 10-ти измерений
О человеке говорят не потоки изрыгаемых слов, а его дела и поступки.
-
rojnov
- Встал на лапы
- Сообщения: 127
- Зарегистрирован: Вс мар 27, 2011 07:48:48
- Откуда: г. Екатеринбург
Re: BASCOM AVR в вопросах и ответах
Приветствую всех!
Похоже, моя проблема осталась незамеченной уважаемыми котами, поэтому попробую обратиться еще раз. Прошу помочь с кодом – не работает индикация в процессе установки температуры термостата. В Протеусе не проверял, проверял в железе на макетной плате. Схема – рисунок из DipTrace.
Вот кусок кода, который не хочет работать:
Nastr: 'настройка термостата
Reset Dig1 : Reset Dig2 'гашение индикаторов
Set Flash 'включение индикации режима настройки
T = Tust_ee : A = T 'считываем темпер.термостата из памяти
Wait 5
While Plus = 0 'пока нажата кнопка плюс
Incr T : If T > 99 Then T = 0 'увеличиваем значение темпер.
Waitms 500
Wend
While Minus = 0 'пока нажата кнопка минус
Decr T : If T = 0 Then T = 99 'уменьшаем значение темпер.
Waitms 500
Wend
If T <> A Then Tust_ee = T 'записываем в память новое значение
Reset Flash 'выключаем индикацию режима настройки
Return
Вся прога и схема – в приложении.
Похоже, моя проблема осталась незамеченной уважаемыми котами, поэтому попробую обратиться еще раз. Прошу помочь с кодом – не работает индикация в процессе установки температуры термостата. В Протеусе не проверял, проверял в железе на макетной плате. Схема – рисунок из DipTrace.
Вот кусок кода, который не хочет работать:
Nastr: 'настройка термостата
Reset Dig1 : Reset Dig2 'гашение индикаторов
Set Flash 'включение индикации режима настройки
T = Tust_ee : A = T 'считываем темпер.термостата из памяти
Wait 5
While Plus = 0 'пока нажата кнопка плюс
Incr T : If T > 99 Then T = 0 'увеличиваем значение темпер.
Waitms 500
Wend
While Minus = 0 'пока нажата кнопка минус
Decr T : If T = 0 Then T = 99 'уменьшаем значение темпер.
Waitms 500
Wend
If T <> A Then Tust_ee = T 'записываем в память новое значение
Reset Flash 'выключаем индикацию режима настройки
Return
Вся прога и схема – в приложении.
- Вложения
-
- Файлы.rar
- (96.19 КБ) 217 скачиваний
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Здравствуйте.
Как написали, так и работает.
Вы же сами при переходе по вектору прерывания INT0 гасите индикатор. А пока Вы находитесь в обработчике, все прерывания глобально запрещены. И прерывание индикации в том числе. Вообще это совсем нехорошо, так долго сидеть в прерывании и уж тем более использовать в нем секундные задержки. Ведь все это время микроконтроллер остается слепым и глухим ко всему что происходит снаружи. Совсем нехорошо, тем более для термостата.
Как написали, так и работает.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
-
rojnov
- Встал на лапы
- Сообщения: 127
- Зарегистрирован: Вс мар 27, 2011 07:48:48
- Откуда: г. Екатеринбург
Re: BASCOM AVR в вопросах и ответах
Здравствуйте, edm2007. Рад, что откликнулись, т.к. еще недавно изучал Баском в том числе и по Вашим статьям.
Попробовал немного изменить это место в коде:
Nastr:
'T = 0
Reset Dig1 : Reset Dig2
Set Flash
T = Tust_ee : A = T
Do
If Plus = 0 Then
Incr T : If T > 99 Then T = 0
Waitms 500
End If
If Minus = 0 Then
Decr T : If T = 0 Then T = 99
Waitms 500
End If
If T <> A Then Exit Do
Loop
Tust_ee = T
Reset Flash
Return
В общем, получилось еще хуже, надо думать. Вопрос такой: я правильно понял ваше сообщение, что при выполнении действий по INT0 индикации не будет, т.е. не будет изменяющихся значений на индикаторе? И если так, то как тогда быть? Совсем не понятно.
Попробовал немного изменить это место в коде:
Nastr:
'T = 0
Reset Dig1 : Reset Dig2
Set Flash
T = Tust_ee : A = T
Do
If Plus = 0 Then
Incr T : If T > 99 Then T = 0
Waitms 500
End If
If Minus = 0 Then
Decr T : If T = 0 Then T = 99
Waitms 500
End If
If T <> A Then Exit Do
Loop
Tust_ee = T
Reset Flash
Return
В общем, получилось еще хуже, надо думать. Вопрос такой: я правильно понял ваше сообщение, что при выполнении действий по INT0 индикации не будет, т.е. не будет изменяющихся значений на индикаторе? И если так, то как тогда быть? Совсем не понятно.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
rojnov писал(а):Вопрос такой: я правильно понял ваше сообщение, что при выполнении действий по INT0 индикации не будет, т.е. не будет изменяющихся значений на индикаторе? И если так, то как тогда быть? Совсем не понятно.
Индикации не будет потому что пока мы находимся в обработчике прерывания, других прерываний не будет. Флаги прерывания выставятся, но обработаны они будут только при завершении текущего. Такова суть архитектуры, в один момент может обрабатываться только одно прерывание, все остальные запрещены.
Если Вы не хотите ничего менять, то разрешите тогда работу прерывания таймера в прерывании INT0. Только будьте готовы к тому что могут возникнуть проблемы в виде слетевшего стека и прочие неприятности.
Если же делать правильно, то в обработчике INT0 нужно лишь выставлять флаг нажатия, а в основном цикле его проверять и при необходимости уходить на подпрограмму установки порога.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
-
rojnov
- Встал на лапы
- Сообщения: 127
- Зарегистрирован: Вс мар 27, 2011 07:48:48
- Откуда: г. Екатеринбург
Re: BASCOM AVR в вопросах и ответах
Кажется, я понял вашу мысль. Спасибо за совет. Буду пробовать, но не сейчас, вечером.
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
Спасибо! С этим разобрался. Еще такой вопросик. Можно ли увеличить шрифт на экране допустим в 2-3 раза? Есть ли какие методы?
Re: BASCOM AVR в вопросах и ответах
Dnepr_1186 писал(а):...Можно ли увеличить шрифт на экране допустим в 2-3 раза? Есть ли какие методы?
А поточнее? О каком экране речь? Монитора? Bascom-а? Инет-браузера? Центра управления полетов?
Если речь о Bascom, то:
Настройки -> Приложение -> вкладка Оболочка -> вкладка Шрифт -> кнопка Шрифт
О человеке говорят не потоки изрыгаемых слов, а его дела и поступки.
- Dnepr_1186
- Потрогал лапой паяльник
- Сообщения: 398
- Зарегистрирован: Чт мар 26, 2009 20:53:27
- Откуда: Беларусь.Минская обл.
Re: BASCOM AVR в вопросах и ответах
Нет. Речь изначально шла об экране Нокия 3310/5110
Re: BASCOM AVR в вопросах и ответах
Dnepr_1186 писал(а):Нет. Речь изначально шла об экране Нокия 3310/5110
Да, это понял уже после своего ответа
Никогда не работал с экранами от сотиков (а хотелось бы), но наверняка используете внешнюю библиотеку для работы с дисплеем. Загляните в нее. Может, разберетесь.
Во все библиотеки, которые так или иначе использовались в моих проектах, я заглядывал, менял значения/строки и проверял изменения в работе. Чаще всего они написаны на АСМе, в котором я дуб-дубом. Копался в справочниках... Только так познавал работу библиотек.
Спрашивать в форумах давно перестал - у большинства отвечающих болезнь отправлять в Гугл
О человеке говорят не потоки изрыгаемых слов, а его дела и поступки.
-
pavel1979
- Мучитель микросхем
- Сообщения: 494
- Зарегистрирован: Пн авг 12, 2013 19:07:47
- Откуда: башкирия мелеуз
Re: BASCOM AVR в вопросах и ответах
Lavad писал(а): у большинства отвечающих болезнь отправлять в Гугл
согласен,есть такое,для больших цифр нужна другая библиотека,поройтесь здесь http://bascom.at.ua/ вроде есть-сам брал но для нокии 1110i
Re: BASCOM AVR в вопросах и ответах
Есть замечательная вещь-библиотека для подключения дисплеев Нокиа 1100,1101,1110,1110i,1112,1116,1200,1202,1203,1280,2300,2660,2760,6085
Вот такая настройка дисплея:
На дисплее в 1-й строке c 1-го столбца выводится "Всем привет." Всё.
Фонты для дисплея делаются встроенным в баском плагином Font Editor.Какой это будет фонт зависит только от нашей фантазии. Сотворил сие чудо и выложил для всех господин Mrshilov. Мало того, он же сделал библиотеку для цветных Нокиа. Я пробовал 1616 и С1-01. Все замечательно работает. Полный восторг.Почитать об этом можно здесь http://bascomavr.3bb.ru
Вот такая настройка дисплея:
Код: Выделить всё
'*******************************************************************************
$lib "glcd_Nokia1100.lbx" 'библиотеку положить в Bascom,в папку "LIB"
'Обозначения:'Cs1(Cs),Si(Sda или Mosi),Sclk(Clk),Rst(Reset)
Config Graphlcd = 128x64sed , Si = Portd.4 , Sclk = Portd.7 , Rst = Portd.0 , Cs1 = Portd.1 'порты можно менять
'Const Negative_lcd = 1 ' Негатив экрана
'Const Mirror_y = 1 ' Поворот вверх ногами
'Const Mirror_x = 1 ' Поворот слева направо
Initlcd
Cls
'Потом пишем,например:
Setfont Font6x8 'устанавливаем нужный фонт
'и
Lcdat 1 , 1 , "Всем привет!"
$include "font6x8.font" 'копируем фонты в папку с вашим исходником и подключаем
На дисплее в 1-й строке c 1-го столбца выводится "Всем привет." Всё.
Фонты для дисплея делаются встроенным в баском плагином Font Editor.Какой это будет фонт зависит только от нашей фантазии. Сотворил сие чудо и выложил для всех господин Mrshilov. Мало того, он же сделал библиотеку для цветных Нокиа. Я пробовал 1616 и С1-01. Все замечательно работает. Полный восторг.Почитать об этом можно здесь http://bascomavr.3bb.ru
Re: BASCOM AVR в вопросах и ответах
Привет всем котам 
Товарищи коты, столкнулся с непонятным поведением протеус и железа.
Написал прошивку. Ошибок нет, в протеусе работает по заданном алгоритму, все хорошо.
Прошиваю тиньку - алгоритм работы совершенно не тот!!!
Проверил весь код, опять в протеусе погонял и опять все нормалек.
Заново прошиваю тиньку - та же байда.
Скажите, в чем проблема?
Где копать?
С таким расхождением впервые сталкиваюсь.
То ли прошивка реально кривая, то ли...
У кого какие мысли?
Товарищи коты, столкнулся с непонятным поведением протеус и железа.
Написал прошивку. Ошибок нет, в протеусе работает по заданном алгоритму, все хорошо.
Прошиваю тиньку - алгоритм работы совершенно не тот!!!
Проверил весь код, опять в протеусе погонял и опять все нормалек.
Заново прошиваю тиньку - та же байда.
Скажите, в чем проблема?
Где копать?
С таким расхождением впервые сталкиваюсь.
То ли прошивка реально кривая, то ли...
У кого какие мысли?
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Привет.
Проект в студию. Ну и описание того, что именно не так в железе.
P.S. Про правильную настройку фьюзов я даже не упоминаю, очевидное дело.
Проект в студию. Ну и описание того, что именно не так в железе.
P.S. Про правильную настройку фьюзов я даже не упоминаю, очевидное дело.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
-
rojnov
- Встал на лапы
- Сообщения: 127
- Зарегистрирован: Вс мар 27, 2011 07:48:48
- Откуда: г. Екатеринбург
Re: BASCOM AVR в вопросах и ответах
Добрый вечер, уважаемые коты. Спешу поделиться своей радостью. Как говорил Кот Матроскин:"Ура! Заработало!" Это я про свой терморегулятор. Так что благодарю всех, оказавших посильную помощь новичку.
Re: BASCOM AVR в вопросах и ответах
edm2007 писал(а):Привет.
Проект в студию. Ну и описание того, что именно не так в железе.![]()
P.S. Про правильную настройку фьюзов я даже не упоминаю, очевидное дело.
Учитель, спасибо за предложенную помощь!
Сам разобрался
С фьюзами все Ок. Косяк был только в одной строке.
Странно что протеус этого не заметил и продолжал работать, а железо глючила.