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

Обсуждаем контроллеры компании Atmel.
L.O.D
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

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

Сообщение L.O.D »

KSerg писал(а):Приношу свои извинения за хамство в ветке всем ответившим. ALEX, EDM2007 и даже L.O.D.

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

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

Сообщение edm2007 »

Первое, что нужно проверить, это что в генерации выбран тип файлов .DBG и Object file (именно по ним идет отладка). Настройки -> Компилятор -> Выход:

Изображение

Второе: убедиться в наличии файлов с расширением .DBG и .OBJ в папке проекта. Разумеется, их имя должно быть таким же, как и имя проекта.

Ну и очень желательно чтобы в пути к исходнику и в имени самого исходника не было кириллицы. Бывает что работает и так, но лучше не провоцировать.

Если это не исправит проблему, закиньте всю папку проекта в архиве сюда.

L.O.D писал(а):И даже мне?! Счастливого пути!


Ну не умеет человек иначе, чего уж тут поделать. :) И это-то уже хорошо. :tea:
Последний раз редактировалось edm2007 Пт апр 01, 2016 14:52:52, всего редактировалось 1 раз.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
KSerg
Открыл глаза
Сообщения: 42
Зарегистрирован: Ср ноя 14, 2012 21:48:31

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

Сообщение KSerg »

поставил вот эти две галки - пошло-поехало. Спасибо!
Изображение
L.O.D
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

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

Сообщение L.O.D »

edm2007 писал(а):Ну не умеет человек иначе, чего уж тут поделать.
Ну как что - пусть учится. Изображение
- Из овощей я больше всего люблю пельмени... © Соседский Мальчик
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Во-о-о-т. Это и был первый урок. Искренне надеюсь, что последний. :tea: Дел-то было на два поста при нормальном вопросе и главное, при адекватной реакции. А вышло вон как...

KSerg писал(а):поставил вот эти две галки


Ну тут главным образом OBJ (объектный, промежуточный код компиляции), а оптимизация она и в Африке оптимизация...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

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

Сообщение COKPOWEHEU »

KSerg писал(а):поставил вот эти две галки

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

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

Сообщение edm2007 »

Ну не на столько все жутко, конечно. Просто нужно это иметь ввиду. :))
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

Ну предупреждают человека правильно. Иначе следующим вопросом будет : "Почему у меня программа прыгает как хочет ?" :))
И пойдут заново переустановки компиляторов, шаманство, ... :)))
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

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

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

Сообщение vem566 »

Где то страниц 100 назад я задавал вопрос, почему в отладке работает, а в железе не хочет. В процессе самостоятельного изыскания причины программа была упрощена до мигания светодиодом, который все равно в железе мигать отказывался. А причина была как раз в галке оптимизации кода. После того как убрал её, все заработало. Возможны варианты с версией компилятора, но все же как то перестал трогать оптимизацию совсем.
L.O.D
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

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

Сообщение L.O.D »

vem566 писал(а):... перестал трогать оптимизацию совсем.
Это ж не наш метод! :)
- Из овощей я больше всего люблю пельмени... © Соседский Мальчик
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

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

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

Сообщение edm2007 »

Вообще интересное дело. Я когда еще в баскоме писал, ради интереса несколько довольно сложных проектов написал именно с оптимизацией. Знал что можно ожидать подвоха, но ни одной проблемы не возникло, ни на этапе разработки, ни в финальных версиях. Версия среды была 1.11.9.8. Правда я к тому времени уже и периферию конфигурировал напрямую через регистры, без всяких Config Timer, и с портами работал так же...

P.S. Вообще от самого кода многое зависит. Не оставляйте компилятору шанса, и все будет хорошо. :tea:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Я не зря упомянул про версию компилятора. После того случая сменил кажется трижды, но по прежнему не лезу в оптимизатор. Но коли вспомнилось, завтра попробую.
domrustika
Грызет канифоль
Сообщения: 257
Зарегистрирован: Чт мар 22, 2007 13:50:33
Откуда: казань
Контактная информация:

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

Сообщение domrustika »

Спойлер

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

Do
I2cstart
   I2cwbyte &HD0
   I2cwbyte &H00
   I2cstart
   I2cwbyte &HD1
   I2crbyte Seco , Ack
   I2crbyte Mine , Ack
   I2crbyte Hour , Ack                       
   I2crbyte Dat , Ack                                     
   I2crbyte Dat , Ack
   I2crbyte Month , Ack                                   
   I2crbyte Year , Nack                                   
   I2cstop
   Seco = Makedec(seco)
    Mine = Makedec(mine)
   Hour = Makedec(hour)

   Dat = Makedec(dat)
   Month = Makedec(month)
   Year = Makedec(year)

   Locate 1 , 5                                           
   If Hour < 10 Then
   Lcd "0" ; Hour ;
   Else
   Lcd Hour
   End If

Lcd ":" ;
If Mine < 10 Then
Lcd "0" ; Mine ; ":" ;
Else
Lcd Mine ; ":" ;
End If
If Seco < 10 Then
Lcd "0" ; Seco
Else
Lcd Seco
End If

Locate 2 , 3                                               
If Dat < 10 Then
Lcd "0" ; Dat
Else
Lcd Dat
End If
Locate 2 , 5
Lcd "-"
Locate 2 , 6                                           
   Select Case Month                                     
      Case 1 : Lcd "Jan"
      Case 2 : Lcd "Feb"
      Case 3 : Lcd "Mar"
      Case 4 : Lcd "Apr"
      Case 5 : Lcd "May"
      Case 6 : Lcd "Jun"
      Case 7 : Lcd "Jul"
      Case 8 : Lcd "Aug"
      Case 9 : Lcd "Sep"
      Case 10 : Lcd "Okt"
      Case 11 : Lcd "Nov"
      Case 12 : Lcd "Dec"
      Case Else : Month = 1
   End Select

Locate 2 , 9
Lcd "-" ; "20" ; Year ; "    "


        If Hour = 21 And Mine = 55 Then Set Out_1

       If Hour = 21 And Mine = 56 Then Reset Out_1       

If Out_1 = 0 Then
     Locate 1 , 15
      Lcd "ON"

End If


 If Out_1 = 1 Then
     Locate 1 , 1
      Lcd "OF"

 End If

ребят подскажите как исправить код что бы при включении OUT_1 было написано ON а при выключении OF?
как только не пробовал в итоге горят обе надписи, а если стирать их пробелами, то сдвигается время и дата! или вовсе накладывается на него!
помогите
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

Поменяйте просто надписи "ON" и "OF" местами. Т.е. замените их друг на друга, да и всё :dont_know:
L.O.D
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

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

Сообщение L.O.D »

domrustika писал(а):как только не пробовал в итоге горят обе надписи
Не оттого ли, что у них координаты разные?
domrustika писал(а):

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

     Locate 1 , 15
     Lcd "ON"
     ...
     Locate 1 , 1
     Lcd "OF"
А если они и должны быть в разных местах, тогда нужно не только выводить актуальную, но и гасить неактуальную, типа "Locate 1 , 15 / Lcd " "".
- Из овощей я больше всего люблю пельмени... © Соседский Мальчик
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Совершенно верно. Противоположная надпись-то сама не исчезнет, они ведь на разных знакоместах находятся. Тут либо полное обновление дисплея, либо пробелами затирать.

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

If Out_1 = 1 Then
   
      Locate 1 , 1        ' гасим OF
      Lcd "  "
      Locate 1 , 15      ' включаем ON
      Lcd "ON"
     
End If

 If Out_1 = 0 Then
   
      Locate 1 , 15      ' гасим ON
      Lcd "  "
      Locate 1 , 1        ' включаем OF
      Lcd "OF"

End If
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
L.O.D
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

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

Сообщение L.O.D »

edm2007 писал(а):Тут либо полное обновление дисплея, либо пробелами затирать.
Вообще, я был удивлен тем, что они в разных местах дисплея находятся. Ладно бы еще дисплей был 80x25, но на 16x2 обычно место экономят и пишут что-то типа "State: On "/ "State: Off".
- Из овощей я больше всего люблю пельмени... © Соседский Мальчик
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Согласен. Да и для восприятия лучше, когда статус устройства находится на одном месте, глазами искать не нужно. Еще бы рандом сделали, чтоб по всему экрану скакал...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Ответить

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