Страница 251 из 304
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт мар 25, 2016 13:42:28
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 не надо!

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

Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт мар 25, 2016 16:38:29
Dnepr_1186
edm2007 писал(а):А?

блин... а я смотрел на отладчик, что оно перскакивает сразу на 2ю строчку...
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт мар 25, 2016 16:42:06
edm2007
Оригинально, ага.

Не на состояние порта смотреть, а на перескакивание строчек... Кстати, если нормально пошаговый прогон делать, то все проходит как нужно, без перескакиваний. На Case 2 он конечно попадает, но это так отображается переход по break... Ну да не об этом тут...
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт мар 25, 2016 22:25:46
Alexlon
edm2007 писал(а):
И никаких
Config 1wire не надо!

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

Спасибо!

После выходных переделаю.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт мар 25, 2016 22:49:38
Мурик
Alexlon писал(а):Не получается "развесить" 2 устройства 18b20 и ds1990 на разные выводы м\к Мега 8
На одном не работают?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Сб мар 26, 2016 01:12:38
domrustika
простейший код
отсюда выводит на верхнюю строчку одни квадраты.
что не так?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Сб мар 26, 2016 06:16:13
L.O.D
domrustika писал(а):выводит на верхнюю строчку одни квадраты. что не так?
В частности, такое было, когда напряжение просело. Проверьте правильность напряжений на индикаторе и подберите контрастность.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Сб мар 26, 2016 08:42:29
edm2007
domrustika писал(а):простейший код отсюда выводит на верхнюю строчку одни квадраты.
Квадраты верхней строки говорят о том, что инициализация внутреннего контроллера дисплея прошла успешно. Эти квадраты будут даже в том случае, если дисплей вообще не подключать к микроконтроллеру, а подать на него только питание.
Если кроме них ничего нет, то самой частой причиной является неправильно настроенный контраст дисплея. Видите на схеме резистор RV1? Вот им и задается напряжение контраста. Опять же, если подать питание на дисплей и покрутить ручку этого резистора, то можно увидеть как в одном крайнем положении эти квадраты видно отчетливо, а в другом крайнем их нет. У вас так? Значит дисплей точно исправен (ну почти точно

).
Остается подключить шину дисплея к микроконтроллеру и попытаться резистором настроить работу дисплея так, что бы текст был виден, а фон знакомест при этом не засвечивался.
Если же дисплей исправен, а при этом ничего кроме квадратов нет, то проверяйте монтаж, микроконтроллер, фьюзы и прочее железо.
P.S. Интересная особенность иногда проявляется в работе с этими дисплеями. По-сути мы имеем два контроллера: один в дисплее (HD44780 и его аналоги), второй - сам контроллер AVR. И контроллер дисплея проходит инициализацию, и контроллер AVR запускается в работу. Обоим нужно время для раскачки. И если AVR завелся раньше, а дисплей еще не успел инициализироваться, то мы получаем кучу веселых багов именно при включении.
Вариантов решения несколько. В своей самописной библиотеке я в функции инициализации намеренно ввожу задержку для стабилизации питания и прочих переходных процессов. И проблем нет. Второй же самый простой вариант для уже готовых библиотек - во фьюзах МК выставить запуск генератора тактирования - Start-up time: 6 CK + 64 ms. И проблема так же решена. Пока контроллер раскачается, дисплей уже точно готов к работе. Такая история.

Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс мар 27, 2016 11:14:07
Alexlon
Мурик писал(а):Alexlon писал(а):Не получается "развесить" 2 устройства 18b20 и ds1990 на разные выводы м\к Мега 8
На одном не работают?
Не подключал. Не было нужды экономить порты.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт мар 31, 2016 10:23:33
KSerg
Вопрос1. А растолкуйте, пожалуйста, работу функции CASE. Отдельные слова в хелпе понимаю, а осмыслить как ее применить не могу. Может мне тоже надо ее применять?
вроде понял
Вопрос 2:
Что за хрень?

Как оно не может найти файлы, если только что их накомпилировало???
Да, я тупой. Спасибо.
и последний вопрос:
есть программа, состоящая из двух больших кусков: меню при пуске и основная программа. При прохождении меню прерывание INt1, обслуживающее кнопку, возвращает, понятно, в программу меню.
первая программа меню do-loop until выходит по условию.
но когда уже выполняется основной цикл,
происходит ататат

:
return из подпрограммы закидывает обратно в меню!
Код: Выделить всё
'===========меню=====
Do 'а возвращаемся сюда почему-то
.....
Loop Until Ex = 0 'вышли навсегда
'==
'==============цикл==
Do 'вернуться надо сюда!
If Bctr = 0 Then Goto Off_clock 'уводим программу и зацикливаем там - режим "выкл"
...
Loop
'============выключаем счет=======
Off_clock:
....
[b]Return[/b]
Как заставить подпрограммный Return вернуться в текущий правильный do-loop и забыть про цикл меню навсегда???
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт мар 31, 2016 16:14:28
L.O.D
KSerg писал(а):Как заставить подпрограммный Return вернуться в текущий правильный do-loop и забыть про цикл меню навсегда???
Очень просто - хотябы немного изучить тот язык, на котором пишете программу. Начните с изучения того, как работают
Goto и
Return.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт мар 31, 2016 17:28:37
KSerg
L.O.D писал(а):Начните с изучения того, как работают Goto и Return.
Боюсь что я их изучил еще тогда, когда в ваш рацион входила прикормом тертая морковь в период грудного вскармливания вас.
А в данном конкретном случае скорее всего сглючил компилятор и после его обновления все пришло в норму.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт мар 31, 2016 19:18:43
Аlex
Очередной самоуверенный типок, обвиняющий всё, но не свои кривые руки, и считающий себя умней разрабов компиляторов

Судя по вашим вопросом, Вы ещё даже до вскармливания морковкой не дошли в этой области, а понтов уже выше головы.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт мар 31, 2016 19:42:23
KSerg
Я был предельно вежлив, товарищ модератор, но тут вылезло какое-то существо, которое принялось учить жизни. И вы туда же.
Вопрос снялся после переустановки Basic без переделки программы, и чем же я "Очередной самоуверенный типок", если просто не знаю среду?
как у вас вообще хватает сообразительности закидывать какашками, не разобравшись? или тут это норма общения?
Идите уже, поешьте моркови, а
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт мар 31, 2016 20:01:14
Аlex
Во первых. Куда мне идти и что делать, давайте я уж как-нибудь без Вас разберусь, хорошо ?
Во вторых. Камушки из какашек были от Вас, в сторону компилятора. Меня, например, всегда умиляют подобные индивидуумы, которые, после серии "зелёных" вопросов, начинают обвинять компиляторы в глючности. Причём, не приводя никаких доказывающих фактов, кроме панических ахов и охов.
В третьих. Я ни за что не поверю, что Вы, вместе с переустановкой компилятора, не изменяли программу. Если это так, то это лишь доказывает мои слова о Вашей самоуверенности.
Ну и в четвёртых, в доказательство Вашей некомпетентности. Я хоть и не знаю Бейсик, но могу с уверенностью сказать, что после goto, никогда нельзя вернуться обратно по return. Так что, если у Вас там что-то и заработало, то одновременно с переустановкой компилятора, с какого-нибудь Марса, в сторону Вашего компьютера, были посланы какие-нибудь лучи, с неизвестной формой энергии.
ЗЫ: L.O.D правильно Вам указал дорогу.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт мар 31, 2016 20:15:51
KSerg
вопрос про это в силе остается, все остальное работает после переустановки B

Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт апр 01, 2016 06:38:52
edm2007
KSerg, вы на ровном месте, по собственной глупости и самоуверенности окончательно испортили отношения в этой теме. Вам совершенно верно и точно дали направление, куда смотреть. Вы же вместо благодарности обплевали всех дерьмом, и в итоге облажались еще больше. Как Вам вообще в голову пришло обвинять всех вокруг в некомпетентности? Вы посмотрите хотя бы, с кем вы вообще общаетесь?
//----------------------------------------------------------------------
По делу:
переход по GOTO это относительный переход по адресу (асм - RJMP), при этом переходе в стеке
адрес возврата не сохраняется. Это одна из причин, по которой программисты очень не любят этот оператор - при необдуманном использовании (ваш классический случай) можно улететь в жуткие дебри.
RETURN (асм RET) - возврат из подпрограммы.
Адрес возврата грузится из стека. Если хотя бы немного заставить работать содержимое черепной коробки, то возникнет один интересный вопрос - "а куда вернется программа по RET, если перед переходом адрес возврата в стек не сохранялся?". Ответ, впрочем, прост - что было в стеке, туда и вернется. А что хранилось в стеке? Да что угодно. При чем в разные моменты и содержимое будет разным, стек-то используется по полной программе.
Вы убедитесь во всем этом лично, и не раз: будет меняться программа, будет меняться содержимое стека (разумеется, если в программе стек используется - выполняется работа с прерываниями, переход к подпрограммам и прочее), будет меняться адрес возврата... Будет весело и непредсказуемо.

А самое-то интересное заключается в том, что исправить эту ошибку можно в один момент, нужно просто знать, при каком переходе адрес возврата сохраняется в стек.
//----------------------------------------------------------------------
P.S. А по факту вы понятия не имеете ни о GOTO, ни о RETURN, да и вообще о программировании. Почему я так уверен? Да просто потому что все что я написал знает любой мало-мальски заинтересованный в программировании школьник. Это основы, это азы. А вы? Вы вероятнее всего не школьник, вы точно не программист, вы просто самоуверенное хамло.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт апр 01, 2016 09:11:23
KSerg
edm2007, огромное спасибо, вот ваш ответ конструктивен, почему нельзя было сразу хоть полунамеком сказать про RJMP? а сразу говорить говно в виде "хотябы немного изучить тот язык, на котором пишете программу"??? Или вы думаете что я не читал ничего? Вообще, что за менторский тон? Есть вопрос - не хотите, не отвечайте, не неволят. Вопросы бывают разные, в том числе и простые.
Более того, судя по скриншоту симулятор у меня не работает, правда ведь, вы с высоты своих знаний этого не поняли?
Goto в своих задумках не использую, подпрограмма и уход в нее не мои, я ее пытаюсь вычистить, чтобы разобраться, как оно работало. Не используя Goto и Case, я ничего не знаю о них - логично?
"вы просто самоуверенное хамло." - ну ярлыки лепить вы тут все мастера, да
"вы на ровном месте, по собственной глупости и самоуверенности окончательно испортили отношения в этой теме" - чем, задав три простых вопроса, на один из которых сам и ответил себе?
"Вы посмотрите хотя бы, с кем вы вообще общаетесь? " свет от нимбов мешает разглядеть. Форум нужен для помощи, а не для фаллометрии. Да, я не программист-профи, но "окончательно испортили отношения в этой теме" говорит мне о том, что я ошибся в людях здесь, и все что мне говорили про радиокот - на самом деле так. Здесь мало программистов, здесь любители и оно для этого и сделано.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт апр 01, 2016 09:25:15
edm2007
Вы хам, это абсолютно точно. Посмотрите внимательно, как вы общаетесь:
KSerg писал(а):а сразу говорить говно
KSerg писал(а):свет от нимбов мешает разглядеть
KSerg писал(а):да пойдите просто в жопу оба, а? если ты имбецил модер, не знающий язык, то что ты тут вообще забыл-то в ветке?
KSerg писал(а):Идите уже, поешьте моркови, а
KSerg писал(а):но тут вылезло какое-то существо, которое принялось учить жизни
KSerg писал(а):Боюсь что я их изучил еще тогда, когда в ваш рацион входила прикормом тертая морковь в период грудного вскармливания вас
И у вас еще хватает наглости, говорить:
KSerg писал(а):Я был предельно вежлив, товарищ модератор
И кто вы после этого? Хоть напоследок поступите порядочно, и ответьте себе сами.
KSerg писал(а):почему нельзя было сразу хоть полунамеком сказать про RJMP?
и следом
L.O.D писал(а):Начните с изучения того, как работают Goto и Return
Чего же более вы хотите? Ответ был дан тут же. Так нет ведь, вы тут же шлепнули штамп молокососа, превознося себя как программиста до небес. Так у кого нимб в итоге?
KSerg писал(а):говорит мне о том, что я ошибся в людях здесь, и все что мне говорили про радиокот - на самом деле так
Это вообще дешевый заход, вы зачем тогда пришли-то сюда? Убедиться в этом? Так я вас уверяю, с такими загонами вы везде будете получать подобный прием.
P.S. На этом все, лично я сказал все что хотел, и более тему захламлять не буду. Не для того она создавалась.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт апр 01, 2016 11:00:55
KSerg
Приношу свои извинения за хамство в ветке всем ответившим. ALEX, EDM2007 и даже L.O.D.
Вину свою признаю, меня понесло, с сутью вопроса - протупил, да, про возврат по адресу из стека забыл. Одно слово RJMP мне быстро все прояснило.
По делу: у меня не работает симулятор, жалуется на отсутствие файлов, поэтому содержимое регистров смотреть мне сейчас нечем.