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

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

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

Сообщение edm2007 »

Alexlon писал(а):Что не так?


Так откуда Вы такую работу с 1wire на разных пинах взяли? Нужно так:

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

1WRESET , PORT , PIN
1WWRITE var1 , bytes , port , pin
var = 1WREAD( bytes , port , pin)


Например:

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

1wreset Pinc , 0                                      ' сброс линии  PORTC.0
1wwrite &HCC , 1 , Pinc , 0                        ' пропуск ROM  для этой линии
...
Byte0(1) = 1wread(1 , Pinc , 0)              ' чтение одного байта


1wreset Pind , 2                                      ' сброс линии  PORTD.2
1wwrite &HCC , 1 , Pind , 2                        ' пропуск ROM  для второй линии
...
Byte0(2) = 1wread(1 , Pind , 2)              ' чтение одного байта со второй линии
         


И никаких Config 1wire не надо! :dont_know: Вы хитрый такой, указали две шины, ага. А как контроллер должен понимать, кому предназначена команда, какая шина сбрасывается или с какой шины читать? :solder:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Dnepr_1186
Потрогал лапой паяльник
Сообщения: 398
Зарегистрирован: Чт мар 26, 2009 20:53:27
Откуда: Беларусь.Минская обл.

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

Сообщение Dnepr_1186 »

edm2007 писал(а):А?

Изображение

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

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

Сообщение edm2007 »

Оригинально, ага. :)) Не на состояние порта смотреть, а на перескакивание строчек... Кстати, если нормально пошаговый прогон делать, то все проходит как нужно, без перескакиваний. На Case 2 он конечно попадает, но это так отображается переход по break... Ну да не об этом тут...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Alexlon
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Сб июн 02, 2012 10:01:06

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

Сообщение Alexlon »

edm2007 писал(а):И никаких Config 1wire не надо! :dont_know: Вы хитрый такой, указали две шины, ага. А как контроллер должен понимать, кому предназначена команда, какая шина сбрасывается или с какой шины читать? :solder:


Спасибо! :beer: После выходных переделаю.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

Alexlon писал(а):Не получается "развесить" 2 устройства 18b20 и ds1990 на разные выводы м\к Мега 8
На одном не работают?
domrustika
Грызет канифоль
Сообщения: 257
Зарегистрирован: Чт мар 22, 2007 13:50:33
Откуда: казань
Контактная информация:

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

Сообщение domrustika »

простейший код отсюда выводит на верхнюю строчку одни квадраты.
что не так?
L.O.D
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

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

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

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

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

Сообщение edm2007 »

domrustika писал(а):простейший код отсюда выводит на верхнюю строчку одни квадраты.


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

Если кроме них ничего нет, то самой частой причиной является неправильно настроенный контраст дисплея. Видите на схеме резистор RV1? Вот им и задается напряжение контраста. Опять же, если подать питание на дисплей и покрутить ручку этого резистора, то можно увидеть как в одном крайнем положении эти квадраты видно отчетливо, а в другом крайнем их нет. У вас так? Значит дисплей точно исправен (ну почти точно :) ).

Остается подключить шину дисплея к микроконтроллеру и попытаться резистором настроить работу дисплея так, что бы текст был виден, а фон знакомест при этом не засвечивался.

Если же дисплей исправен, а при этом ничего кроме квадратов нет, то проверяйте монтаж, микроконтроллер, фьюзы и прочее железо.

P.S. Интересная особенность иногда проявляется в работе с этими дисплеями. По-сути мы имеем два контроллера: один в дисплее (HD44780 и его аналоги), второй - сам контроллер AVR. И контроллер дисплея проходит инициализацию, и контроллер AVR запускается в работу. Обоим нужно время для раскачки. И если AVR завелся раньше, а дисплей еще не успел инициализироваться, то мы получаем кучу веселых багов именно при включении.

Вариантов решения несколько. В своей самописной библиотеке я в функции инициализации намеренно ввожу задержку для стабилизации питания и прочих переходных процессов. И проблем нет. Второй же самый простой вариант для уже готовых библиотек - во фьюзах МК выставить запуск генератора тактирования - Start-up time: 6 CK + 64 ms. И проблема так же решена. Пока контроллер раскачается, дисплей уже точно готов к работе. Такая история. :tea:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Alexlon
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Сб июн 02, 2012 10:01:06

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

Сообщение Alexlon »

Мурик писал(а):
Alexlon писал(а):Не получается "развесить" 2 устройства 18b20 и ds1990 на разные выводы м\к Мега 8
На одном не работают?

Не подключал. Не было нужды экономить порты.
KSerg
Открыл глаза
Сообщения: 42
Зарегистрирован: Ср ноя 14, 2012 21:48:31

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

Сообщение KSerg »

Вопрос1. А растолкуйте, пожалуйста, работу функции CASE. Отдельные слова в хелпе понимаю, а осмыслить как ее применить не могу. Может мне тоже надо ее применять?
вроде понял

Вопрос 2:
Что за хрень?
Изображение
Как оно не может найти файлы, если только что их накомпилировало???
Да, я тупой. Спасибо.

и последний вопрос:
есть программа, состоящая из двух больших кусков: меню при пуске и основная программа. При прохождении меню прерывание INt1, обслуживающее кнопку, возвращает, понятно, в программу меню.

первая программа меню do-loop until выходит по условию.
но когда уже выполняется основной цикл,
происходит ататат :kill: :
return из подпрограммы закидывает обратно в меню!

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

'===========меню=====
Do 'а возвращаемся сюда почему-то
 .....
Loop Until Ex = 0 'вышли навсегда
'==

'==============цикл==
Do        'вернуться надо сюда!

  If Bctr = 0 Then Goto Off_clock                          'уводим программу и зацикливаем там - режим "выкл"
...
Loop

'============выключаем счет=======
Off_clock:
   ....
     [b]Return[/b]

Как заставить подпрограммный Return вернуться в текущий правильный do-loop и забыть про цикл меню навсегда???
L.O.D
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

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

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

KSerg писал(а):Как заставить подпрограммный Return вернуться в текущий правильный do-loop и забыть про цикл меню навсегда???
Очень просто - хотябы немного изучить тот язык, на котором пишете программу. Начните с изучения того, как работают Goto и Return.
- Из овощей я больше всего люблю пельмени... © Соседский Мальчик
KSerg
Открыл глаза
Сообщения: 42
Зарегистрирован: Ср ноя 14, 2012 21:48:31

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

Сообщение KSerg »

L.O.D писал(а):Начните с изучения того, как работают Goto и Return.



Боюсь что я их изучил еще тогда, когда в ваш рацион входила прикормом тертая морковь в период грудного вскармливания вас.

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

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

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

Очередной самоуверенный типок, обвиняющий всё, но не свои кривые руки, и считающий себя умней разрабов компиляторов :facepalm:
Судя по вашим вопросом, Вы ещё даже до вскармливания морковкой не дошли в этой области, а понтов уже выше головы.
KSerg
Открыл глаза
Сообщения: 42
Зарегистрирован: Ср ноя 14, 2012 21:48:31

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

Сообщение KSerg »

Я был предельно вежлив, товарищ модератор, но тут вылезло какое-то существо, которое принялось учить жизни. И вы туда же.
Вопрос снялся после переустановки Basic без переделки программы, и чем же я "Очередной самоуверенный типок", если просто не знаю среду?
как у вас вообще хватает сообразительности закидывать какашками, не разобравшись? или тут это норма общения?

Идите уже, поешьте моркови, а
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

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

Во первых. Куда мне идти и что делать, давайте я уж как-нибудь без Вас разберусь, хорошо ?
Во вторых. Камушки из какашек были от Вас, в сторону компилятора. Меня, например, всегда умиляют подобные индивидуумы, которые, после серии "зелёных" вопросов, начинают обвинять компиляторы в глючности. Причём, не приводя никаких доказывающих фактов, кроме панических ахов и охов.
В третьих. Я ни за что не поверю, что Вы, вместе с переустановкой компилятора, не изменяли программу. Если это так, то это лишь доказывает мои слова о Вашей самоуверенности.
Ну и в четвёртых, в доказательство Вашей некомпетентности. Я хоть и не знаю Бейсик, но могу с уверенностью сказать, что после goto, никогда нельзя вернуться обратно по return. Так что, если у Вас там что-то и заработало, то одновременно с переустановкой компилятора, с какого-нибудь Марса, в сторону Вашего компьютера, были посланы какие-нибудь лучи, с неизвестной формой энергии.

ЗЫ: L.O.D правильно Вам указал дорогу.
KSerg
Открыл глаза
Сообщения: 42
Зарегистрирован: Ср ноя 14, 2012 21:48:31

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

Сообщение KSerg »

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

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

Сообщение edm2007 »

KSerg, вы на ровном месте, по собственной глупости и самоуверенности окончательно испортили отношения в этой теме. Вам совершенно верно и точно дали направление, куда смотреть. Вы же вместо благодарности обплевали всех дерьмом, и в итоге облажались еще больше. Как Вам вообще в голову пришло обвинять всех вокруг в некомпетентности? Вы посмотрите хотя бы, с кем вы вообще общаетесь?

//----------

По делу:

переход по GOTO это относительный переход по адресу (асм - RJMP), при этом переходе в стеке адрес возврата не сохраняется. Это одна из причин, по которой программисты очень не любят этот оператор - при необдуманном использовании (ваш классический случай) можно улететь в жуткие дебри.

RETURN (асм RET) - возврат из подпрограммы. Адрес возврата грузится из стека. Если хотя бы немного заставить работать содержимое черепной коробки, то возникнет один интересный вопрос - "а куда вернется программа по RET, если перед переходом адрес возврата в стек не сохранялся?". Ответ, впрочем, прост - что было в стеке, туда и вернется. А что хранилось в стеке? Да что угодно. При чем в разные моменты и содержимое будет разным, стек-то используется по полной программе.

Вы убедитесь во всем этом лично, и не раз: будет меняться программа, будет меняться содержимое стека (разумеется, если в программе стек используется - выполняется работа с прерываниями, переход к подпрограммам и прочее), будет меняться адрес возврата... Будет весело и непредсказуемо. :)) А самое-то интересное заключается в том, что исправить эту ошибку можно в один момент, нужно просто знать, при каком переходе адрес возврата сохраняется в стек.

//----------

P.S. А по факту вы понятия не имеете ни о GOTO, ни о RETURN, да и вообще о программировании. Почему я так уверен? Да просто потому что все что я написал знает любой мало-мальски заинтересованный в программировании школьник. Это основы, это азы. А вы? Вы вероятнее всего не школьник, вы точно не программист, вы просто самоуверенное хамло.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
KSerg
Открыл глаза
Сообщения: 42
Зарегистрирован: Ср ноя 14, 2012 21:48:31

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

Сообщение KSerg »

edm2007, огромное спасибо, вот ваш ответ конструктивен, почему нельзя было сразу хоть полунамеком сказать про RJMP? а сразу говорить говно в виде "хотябы немного изучить тот язык, на котором пишете программу"??? Или вы думаете что я не читал ничего? Вообще, что за менторский тон? Есть вопрос - не хотите, не отвечайте, не неволят. Вопросы бывают разные, в том числе и простые.


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

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

Сообщение edm2007 »

Вы хам, это абсолютно точно. Посмотрите внимательно, как вы общаетесь:

KSerg писал(а):а сразу говорить говно

KSerg писал(а):свет от нимбов мешает разглядеть

KSerg писал(а):да пойдите просто в жопу оба, а? если ты имбецил модер, не знающий язык, то что ты тут вообще забыл-то в ветке?

KSerg писал(а):Идите уже, поешьте моркови, а

KSerg писал(а):но тут вылезло какое-то существо, которое принялось учить жизни

KSerg писал(а):Боюсь что я их изучил еще тогда, когда в ваш рацион входила прикормом тертая морковь в период грудного вскармливания вас


И у вас еще хватает наглости, говорить:

KSerg писал(а):Я был предельно вежлив, товарищ модератор


И кто вы после этого? Хоть напоследок поступите порядочно, и ответьте себе сами.

KSerg писал(а):почему нельзя было сразу хоть полунамеком сказать про RJMP?

и следом
L.O.D писал(а):Начните с изучения того, как работают Goto и Return

Чего же более вы хотите? Ответ был дан тут же. Так нет ведь, вы тут же шлепнули штамп молокососа, превознося себя как программиста до небес. Так у кого нимб в итоге?

KSerg писал(а):говорит мне о том, что я ошибся в людях здесь, и все что мне говорили про радиокот - на самом деле так


Это вообще дешевый заход, вы зачем тогда пришли-то сюда? Убедиться в этом? Так я вас уверяю, с такими загонами вы везде будете получать подобный прием.

P.S. На этом все, лично я сказал все что хотел, и более тему захламлять не буду. Не для того она создавалась.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
KSerg
Открыл глаза
Сообщения: 42
Зарегистрирован: Ср ноя 14, 2012 21:48:31

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

Сообщение KSerg »

Приношу свои извинения за хамство в ветке всем ответившим. ALEX, EDM2007 и даже L.O.D.
Вину свою признаю, меня понесло, с сутью вопроса - протупил, да, про возврат по адресу из стека забыл. Одно слово RJMP мне быстро все прояснило.

По делу: у меня не работает симулятор, жалуется на отсутствие файлов, поэтому содержимое регистров смотреть мне сейчас нечем.
Ответить

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