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

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

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

Сообщение edm2007 »

KOTик писал(а):если вы выставите тактирование МК от внешнего кварца, то при повторной прошивке этот же кварц должен быть на соответствующих ножках МК.В противном случае МК не войдет в режим программирование/прошивки, т.е. будет нуу, как бы "залочен".


Разумеется. Ведь теперь частотозадающим элементом для тактового генератора МК и будет являться кварц. Он не то что не войдет в режим программирования, он просто работать не будет. И это не залоченый МК, Вы немного путаете понятия. Залочить - это все же выставить Lock биты, запрещающие чтение & / | верификацию. В этом случае МК можно будет только стереть (хорошая защита от считываний прошивки с МК, с целью дальнейшего копирования изделия). А тактирование от внешнего кварца это штатный режим работы МК, ничего экстраординарного здесь нет. А если кто и забыл кварц припаять, так это уже его личное дело. :wink:

Куда "опаснее" выставить фьюз RSTDISBL. Этот фьюз сделает вывод RESET МК обычным пином порта (с незначительными ограничениями). А так как при последовательном программировании вывод RESET принимает непосредственное участие, то ISP программирование более будет невозможно (по выводам MISO, MOSI, SCK, RESET). Но и это обычный режим, никакой блокировки тут нет. Просто нужен будет параллельный программатор, который способен достучаться до МК. Ну или FuseBitDoctor...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
KOTик
Встал на лапы
Сообщения: 148
Зарегистрирован: Пн июн 07, 2010 16:16:57
Контактная информация:

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

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

edm2007 писал(а):
KOTик писал(а):если вы выставите тактирование МК от внешнего кварца, то при повторной прошивке этот же кварц должен быть на соответствующих ножках МК.В противном случае МК не войдет в режим программирование/прошивки, т.е. будет нуу, как бы "залочен".

Разумеется. Ведь теперь частотозадающим элементом для тактового генератора МК и будет являться кварц. Он не то что не войдет в режим программирования, он просто работать не будет. И это не залоченый МК, Вы немного путаете понятия. Залочить - это все же выставить Lock биты, запрещающие чтение & / | верификацию.
...

Абсолютно верно, учитель :)
Потому и "Залочить" Я написал в кавычках, цитируя dbf-334.
Разумеется, ничего трагического с МК не произойдет.

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

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

Сообщение edm2007 »

:) Конечно я понял о каком "залочивании" идет речь. Тема эта актуальна будет всегда, и по ощущениям оно и выглядит как погибший МК. Особенно для неокрепшей психики начинающего программера. :tea: Я и сам в прошлой жизни запросто отправил пару МК во внешнее тактирование. Горе мое на тот момент было сложно описать. Мир рухнул, похоронив под обломками все надежды на счастливое микроконтроллерное будущее... Кто же знал тогда, что не все оболочки считывают фьюзы при обращении к МК. И как следствие - фьюзы записываются совершенно непотребные... Лишь спустя много лет были обнаружены эти "залоченые" МК, к которым достаточно было подцепить внешние кварцы. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
dbf-334
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Чт мар 06, 2008 10:59:45

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

Сообщение dbf-334 »

edm2007 писал(а): Залочить - это все же выставить Lock биты, запрещающие чтение & / | верификацию. В этом случае МК можно будет только стереть (хорошая защита от считываний прошивки с МК, с целью дальнейшего копирования изделия).


А можно про это по подробнее? :) Какой фьюз за это отвечает в БАСКОМе, что бы содержимое МК нельзя было в дальнейшем прочитать?

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

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

Сообщение edm2007 »

dbf-334 писал(а):А можно про это по подробнее?


Да запросто. Какой фьюз и за что отвечает, прекрасно видно в даташите.

Изображение

Касаемо же баскома, то за это отвечают фьюзы Lockbit 21. По умолчанию они зашиты как 11. То бишь разрешено и программирование и верификация данных. Ну а дальше как и в даташите 10 запрещает программирование Flash и EEPROM, а 00 запрещает еще и верификацию.

Изображение

dbf-334 писал(а):Я так понимаю, что прошивку нельзя будет считать с МК, но доступ к нему все равно останется. Т.е. его можно просто стереть и потом записывать на него другую программу, как ни в чем не бывало?


Вы все правильно понимаете. Только с небольшими поправками. Прошивку считать будет можно, только содержать она будет совершенно неправильные данные. Это увеличивающиеся значения, и не более того. 00 01 02 03 ... AA AB AC. Сразу будет видно, что это явно не прошивка. Можете попробовать ради интереса, и сразу все поймете. И само собой разумеющееся, что такую "прошивку" применить будет невозможно. Если же был запрет еще и на верификацию, то она естественно будет в дальнейшем проходить с ошибкой.

dbf-334 писал(а):Полагаю, только надо будет блокирующий фьюз не забыть снять...


Lock биты сбрасываются автоматически при стирании микроконтроллера. Никаких дополнительных действий делать не нужно. Отсюда порядок действий: сначала зашиваем прошивку и основные фьюзы, и только в самом конце в отдельном порядке Lock биты.
Вложения
lockbits2_dbf-334.png
(78.68 КБ) 1368 скачиваний
lockbits1_dbf-334.png
(161.11 КБ) 1680 скачиваний
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
dbf-334
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Чт мар 06, 2008 10:59:45

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

Сообщение dbf-334 »

edm2007, спасибо большое за ответ! :) Все очень подробно расписано, еще и с картинками.
dbf-334
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Чт мар 06, 2008 10:59:45

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

Сообщение dbf-334 »

Уважаемые коты! :)

Подскажите, как работать в БАСКОМ со звуком. Там есть команда SOUND, с ней я полностью разобрался. Только, по моим наблюдениям она имеет ряд недостатков при воспроизведении звука:
1) на всех остальных портах гаснут светодиоды
2) таймер, выделенный для другой задачи тоже приостанавливает работу (по моим наблюдениям, хотя может и ошибаюсь)

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

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

Сообщение edm2007 »

dbf-334 писал(а):простой кратковременной подачей напряжения на вывод МК, звук не получить


Есть пьезоизлучатели со встроеным генератором. Вот на них как раз и достаточно подать напряжение...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
dbf-334
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Чт мар 06, 2008 10:59:45

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

Сообщение dbf-334 »

edm2007 писал(а):Есть пьезоизлучатели со встроеным генератором. Вот на них как раз и достаточно подать напряжение...


Да я знаю, но мне интереснее с этим поработать.)) Я так думаю, что команда SOUND должна использовать для своей работы таймер (например №1), тогда мой таймер №0 работает не в удел (прерывание прерыванию рознь). А мне время считать этим таймером надо, вот я и запнулся с этим звуком.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

как ни странно, но у меня как раз проблеммы были со звуком а не с светодиодами (динам. индикация). При уменьшении яркости индикатора, немного менялся звук.
Если у Вас светодиоды в статическом режиме, то они не должны отключаться при звуке. Если в динамике, по таймеру, то и генерите этим-же таймером звук(дёргайте ножку зумера), при условии нажатия кнопки.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
dbf-334
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Чт мар 06, 2008 10:59:45

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

Сообщение dbf-334 »

Индикация динамическая. :) Только вот, как правильно сгенерить таймером звук не знаю.
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Всем доброго времени суток. Кто нибудь применял демодулятор tda9886h ?

Я уже весь даташит перекурил, не могу понять в чем дело. Вот даташит
TDA9885_TDA9886.pdf


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

Отправляю так

Setradio1:
Do
Waitms 10 'Пауза 10мс

I2cstart

I2cwbyte &B10000110 'Адрес демодулятора '

I2cwbyte &B00000000 'B DATA) Суб адрес
I2cwbyte &B01000100 'Данные В

I2cwbyte &B00000001
I2cwbyte &B00110000 'Данные С

I2cwbyte &B00000010
I2cwbyte &B00100000 'Данные Е

I2cstop
Return
Loop

Подскажите что я не так делаю? Ну не могу допереть ни как...
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Сегодня попробовал так отсылать данные на демодулятор

Setradio1:
Do
Waitms 10 'Пауза 10мс

I2cstart
I2cwbyte &B10000110 'Адрес демодулятора '
I2cwbyte &B00000000 'B DATA) Суб адрес
I2cwbyte &B01000100 'Данные В
I2cstop

I2cstart
I2cwbyte &B10000110
I2cwbyte &B00000001
I2cwbyte &B00110000 'Данные С
I2cstop

I2cstart
I2cwbyte &B10000110
I2cwbyte &B00000010
I2cwbyte &B00100000 'Данные Е
I2cstop

Return
Loop

Не помогло. Ему без разницы. Не понятно что ему нужно. Если отсылать как в прошлом посте, то на выходах вообще тишина.
Где бы найти пример применения этой микросхемы на Bascom. Сильно сомневаюсь что это вообще возможно....
Аватара пользователя
KOTик
Встал на лапы
Сообщения: 148
Зарегистрирован: Пн июн 07, 2010 16:16:57
Контактная информация:

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

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

Товарищи мудрые коты!
Нарисовал схему одного устройства.
Имеются каналы ввода/вывода, обвязка и т.д.
Написал 2 прошивки под разные задачи (1.датчик освещенности; 2.стробоскоп).
При этом, принципиальная схема, элементная база, обвязка и т.д. не изменилась, частота МК, фьюзы и т.д. идентичны.
Устройство отлично работает.
Залил одну прошивку - 1 девайс, залил другую - другой.

А теперь, собственно сабж:
Имеется всего один свободный порт мк (аттини13).
Задача состоит в том, чтобы оперативно менять функцию устройства без перепрошивки.
Т.е. прижал свободный порт на массу - выполняется прошивка 1.hex с одной функцией, порт не прижат - работает прошивка 2.hex и, естественно, другая функция и по назначению другое устройство получается.
Как можно залить в этот МК 2 прошивки (каждая по объему на 1/4 меньше от общей памяти мк) и выбирать, активную прошивку, а следовательно, функцию устройства?

Может как-то эти hex-ы считывать с внешней памяти и джампер вот туда и поставить? (сорри, если ни то ляпнул)

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

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

Сообщение edm2007 »

KOTик писал(а):Вариант с объединением 2 программ в bascom'е это уже крайний вариант.


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

KOTик писал(а):Имеется всего один свободный порт мк (аттини13).


У тиньки 13 всего один порт. А у Вас речь идет об одном пине порта, видимо. :tea:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
arrr
Родился
Сообщения: 8
Зарегистрирован: Чт май 13, 2010 05:44:21

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

Сообщение arrr »

осторожно! леоныч!!!
TDA9887

Пример:
'then set to FM mode (IF=10.70 MHz)
I2cstart
I2cwbyte &H86
I2cwbyte &H00
I2cwbyte &H4E '4E high sens ,0E mute on
I2cwbyte &HD0
I2cwbyte &H77
I2cstop
Waitms 100

Взято здесь http://www.kh-gps.de/fm1216.htm
Аватара пользователя
dimon-790
Мучитель микросхем
Сообщения: 442
Зарегистрирован: Пт авг 29, 2008 09:22:37
Контактная информация:

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

Сообщение dimon-790 »

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

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

Сообщение domrustika »

есть простая задумка включать и выключать светодиод через tsop4836 . может кто помочь накидать схему подключения и код что бы это реализовать?
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

domrustika писал(а):есть простая задумка включать и выключать светодиод через tsop4836

Эта задумка уже давно осуществилась http://avrproject.ru/publ/protokol_rc5_ ... r/1-1-0-30
domrustika
Грызет канифоль
Сообщения: 257
Зарегистрирован: Чт мар 22, 2007 13:50:33
Откуда: казань
Контактная информация:

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

Сообщение domrustika »

ооо это именно то что нужно! :) пасибо!
Ответить

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