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

Обсуждаем контроллеры компании Atmel.
rojnov
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

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

Сообщение rojnov »

Попробую еще раз.
Вложения
Файлы.rar
(96.19 КБ) 275 скачиваний
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

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

Сообщение Dnepr_1186 »

_Vasilij_ писал(а): Если для машины, то рекомендую производить серию замеров, типа 10 захватов, потом суммируем и делим на 10 - в железе(на авто) работает стабильней. А с одним измерением красиво только от генератора импульсов на столе получается, а на реальном авто неравномерность всетаки какая-то, а по усредненному уже ближе к теме. Ds18b20 тоже не любит прерываний в момент своего общения и иногда можете ересь показывать.

Да для машины. Может хоть примерно набросаете как эти 10 захватов делать. А то я в этих делах новичек.
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Ну имеется ввиду десять измерений подряд, складывая результат в переменную. А потом переменную поделить на 10.
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

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

Сообщение Dnepr_1186 »

А каким образмо провести десять измерений не выводя на экран промежуточные измерения? Ссори я новичек.
Аватара пользователя
Lavad
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Сб апр 20, 2013 22:56:52

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

Сообщение Lavad »

Например, так:

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

  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 в вопросах и ответах

Сообщение rojnov »

Приветствую всех!
Похоже, моя проблема осталась незамеченной уважаемыми котами, поэтому попробую обратиться еще раз. Прошу помочь с кодом – не работает индикация в процессе установки температуры термостата. В Протеусе не проверял, проверял в железе на макетной плате. Схема – рисунок из 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 в вопросах и ответах

Сообщение edm2007 »

Здравствуйте.

Как написали, так и работает. :wink: Вы же сами при переходе по вектору прерывания INT0 гасите индикатор. А пока Вы находитесь в обработчике, все прерывания глобально запрещены. И прерывание индикации в том числе. Вообще это совсем нехорошо, так долго сидеть в прерывании и уж тем более использовать в нем секундные задержки. Ведь все это время микроконтроллер остается слепым и глухим ко всему что происходит снаружи. Совсем нехорошо, тем более для термостата.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
rojnov
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

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

Сообщение rojnov »

Здравствуйте, 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 индикации не будет, т.е. не будет изменяющихся значений на индикаторе? И если так, то как тогда быть? Совсем не понятно.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

rojnov писал(а):Вопрос такой: я правильно понял ваше сообщение, что при выполнении действий по INT0 индикации не будет, т.е. не будет изменяющихся значений на индикаторе? И если так, то как тогда быть? Совсем не понятно.


Индикации не будет потому что пока мы находимся в обработчике прерывания, других прерываний не будет. Флаги прерывания выставятся, но обработаны они будут только при завершении текущего. Такова суть архитектуры, в один момент может обрабатываться только одно прерывание, все остальные запрещены.

Если Вы не хотите ничего менять, то разрешите тогда работу прерывания таймера в прерывании INT0. Только будьте готовы к тому что могут возникнуть проблемы в виде слетевшего стека и прочие неприятности.

Если же делать правильно, то в обработчике INT0 нужно лишь выставлять флаг нажатия, а в основном цикле его проверять и при необходимости уходить на подпрограмму установки порога.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
rojnov
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

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

Сообщение rojnov »

Кажется, я понял вашу мысль. Спасибо за совет. Буду пробовать, но не сейчас, вечером.
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

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

Сообщение Dnepr_1186 »

Спасибо! С этим разобрался. Еще такой вопросик. Можно ли увеличить шрифт на экране допустим в 2-3 раза? Есть ли какие методы?
Аватара пользователя
Lavad
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Сб апр 20, 2013 22:56:52

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

Сообщение Lavad »

Dnepr_1186 писал(а):...Можно ли увеличить шрифт на экране допустим в 2-3 раза? Есть ли какие методы?

А поточнее? О каком экране речь? Монитора? Bascom-а? Инет-браузера? Центра управления полетов?
Если речь о Bascom, то:
Настройки -> Приложение -> вкладка Оболочка -> вкладка Шрифт -> кнопка Шрифт
О человеке говорят не потоки изрыгаемых слов, а его дела и поступки.
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

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

Сообщение Dnepr_1186 »

Нет. Речь изначально шла об экране Нокия 3310/5110
Аватара пользователя
Lavad
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Сб апр 20, 2013 22:56:52

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

Сообщение Lavad »

Dnepr_1186 писал(а):Нет. Речь изначально шла об экране Нокия 3310/5110

Да, это понял уже после своего ответа :(.
Никогда не работал с экранами от сотиков (а хотелось бы), но наверняка используете внешнюю библиотеку для работы с дисплеем. Загляните в нее. Может, разберетесь.
Во все библиотеки, которые так или иначе использовались в моих проектах, я заглядывал, менял значения/строки и проверял изменения в работе. Чаще всего они написаны на АСМе, в котором я дуб-дубом. Копался в справочниках... Только так познавал работу библиотек.
Спрашивать в форумах давно перестал - у большинства отвечающих болезнь отправлять в Гугл :(
О человеке говорят не потоки изрыгаемых слов, а его дела и поступки.
pavel1979
Мучитель микросхем
Сообщения: 494
Зарегистрирован: Пн авг 12, 2013 19:07:47
Откуда: башкирия мелеуз

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

Сообщение pavel1979 »

Lavad писал(а): у большинства отвечающих болезнь отправлять в Гугл :(

согласен,есть такое,для больших цифр нужна другая библиотека,поройтесь здесь http://bascom.at.ua/ вроде есть-сам брал но для нокии 1110i
Sergik07
Родился
Сообщения: 19
Зарегистрирован: Вт сен 10, 2013 18:12:58

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

Сообщение Sergik07 »

Есть замечательная вещь-библиотека для подключения дисплеев Нокиа 1100,1101,1110,1110i,1112,1116,1200,1202,1203,1280,2300,2660,2760,6085
Вот такая настройка дисплея:

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

'*******************************************************************************
$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
Аватара пользователя
KOTик
Встал на лапы
Сообщения: 148
Зарегистрирован: Пн июн 07, 2010 16:16:57
Контактная информация:

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

Сообщение KOTик »

Привет всем котам :)
Товарищи коты, столкнулся с непонятным поведением протеус и железа.
Написал прошивку. Ошибок нет, в протеусе работает по заданном алгоритму, все хорошо.
Прошиваю тиньку - алгоритм работы совершенно не тот!!! :shock:

Проверил весь код, опять в протеусе погонял и опять все нормалек.
Заново прошиваю тиньку - та же байда. :kill:

Скажите, в чем проблема?
Где копать?

С таким расхождением впервые сталкиваюсь.
То ли прошивка реально кривая, то ли...

У кого какие мысли?
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Привет.

Проект в студию. Ну и описание того, что именно не так в железе. :)

P.S. Про правильную настройку фьюзов я даже не упоминаю, очевидное дело. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
rojnov
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

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

Сообщение rojnov »

Добрый вечер, уважаемые коты. Спешу поделиться своей радостью. Как говорил Кот Матроскин:"Ура! Заработало!" Это я про свой терморегулятор. Так что благодарю всех, оказавших посильную помощь новичку.
Аватара пользователя
KOTик
Встал на лапы
Сообщения: 148
Зарегистрирован: Пн июн 07, 2010 16:16:57
Контактная информация:

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

Сообщение KOTик »

edm2007 писал(а):Привет.
Проект в студию. Ну и описание того, что именно не так в железе. :)
P.S. Про правильную настройку фьюзов я даже не упоминаю, очевидное дело. :)

Учитель, спасибо за предложенную помощь! :))
Сам разобрался :)
С фьюзами все Ок. Косяк был только в одной строке.
Странно что протеус этого не заметил и продолжал работать, а железо глючила.
Ответить

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