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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Moto_v3x
Потрогал лапой паяльник
Сообщения: 307
Зарегистрирован: Ср мар 31, 2010 11:45:58
Откуда: Славянск

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

Сообщение Moto_v3x »

vanyap1
Может такой фокус прокатит
http://radiokot.ru/forum/viewtopic.php?p=105460#p105460
Реклама
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

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

Сообщение TRIOD »

доброе время суток.

Подскажите как узнать значение одельного бита в переменой типа Байт.
Просто из памяти типа 24CXX считывается по байтно, а мне нужно значение конкретных битов.
Только абсолютная пустота бездны принесёт мне покой.
Реклама
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Moto_v3x писал(а):vanyap1
Может такой фокус прокатит
http://radiokot.ru/forum/viewtopic.php?p=105460#p105460
этот код мне непонятно, может еще что нибудь есть?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

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

TRIOD писал(а):Подскажите как узнать значение отдельного бита в переменой типа Байт.
где var это переменная, а x это требуемый бит от 0 до 7.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

TRIOD писал(а):Подскажите как узнать значение одельного бита в переменой типа Байт.
Не так давно писал про это:
Dim Temp As Byte , Result As Byte

Temp = &B10101010 ' загружаем число во временную переменную

Result = Temp.5 ' забираем в переменную Result 5-й бит переменной Temp (результат = 1)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Реклама
Аватара пользователя
danton
Родился
Сообщения: 6
Зарегистрирован: Пн дек 05, 2011 21:58:33

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

Сообщение danton »

люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
в моем случае это цветомузыкальный медальон "кошачий глаз" http://radiokot.ru/circuit/light/run/35/ .
во первых - атмега8 - у нее вроде как isp интерфейс - значит можно программировать прямо в собранном медальоне? или нужно собирать какую то схему для программирования? или как это вообще делается? :shock:
во вторых - вот допустим я скачал прошивку для него, открыл в bascom avr и как вот ее зашивать туда? я там даже до фьюзбитов не могу добраться, и ваще не понимаю что делать то нужно :dont_know:
помогите пожалуйста чайнику :cry: а то не могу сам никак разобраться, что к чему и как это делается...
Реклама
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

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

Сообщение TRIOD »

Доброе время суток.
Подскажите как в Баскоме отключить неиспользуемые адресные линии внешней оперативки?
Использую Мега8515 и 32KB ОЗУ. У этой меге 15 адресных линий причём линии с A8 по A15 вродебы можно отключить через регистр SFIOR.
По сколько у меня 32KB памяти то линия A15 мне ненужна и надо её отключить для других нужд, но не получается. Может кто в курсе как это сделать?
Только абсолютная пустота бездны принесёт мне покой.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 722
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

danton писал(а):люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
Для начала почитать http://radiokot.ru/start/mcu_fpga/avr/ дальше будут вопросы спрашивать.(В кратце собрать программатор, соеденить с МК, прошить прошивку)
Аватара пользователя
danton
Родился
Сообщения: 6
Зарегистрирован: Пн дек 05, 2011 21:58:33

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

Сообщение danton »

amv2000 писал(а):
danton писал(а):люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
Для начала почитать http://radiokot.ru/start/mcu_fpga/avr/ дальше будут вопросы спрашивать.(В кратце собрать программатор, соеденить с МК, прошить прошивку)
я понимаю, я там тоже читал. мне просто интересно - в самом медальоне можно прошить контроллер или нет?
Аватара пользователя
amv2000
Опытный кот
Сообщения: 722
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

в DIP корпусе сначала надо прошить, там имеется панелька а в корпусе TQFP можно непосредственно на плате там разъем снизу...
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Подскажите пожалуйста как обработать длительное удержание кнопки?
Аватара пользователя
amv2000
Опытный кот
Сообщения: 722
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

vanyap1 писал(а):Подскажите пожалуйста как обработать длительное удержание кнопки?
Есть такой пример:

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

Wej1:
If Key_3 = 0 Then
        Waitms 1 : If Key_3 = 1 Then Goto Wej1       ' Защита от помехи

Led = 1

       Temp2 = 0
        If Key_3 = 0 Then
             For Temp = 0 To 250
                 Incr Temp2 : If Temp2 > 214 Then Goto Dolgoe_uderzhanie       ' На долгое удержание
                 If Key_3 = 1 Then Exit For       ' Выходим из цикла подсчета времени удержания кнопки
                 Waitms 14
             Next
        End If


       For Temp = 0 To 99     ' Проверка на нажатие кнопки второй раз
           If Key_3 = 0 Then Goto Dvojnoe_nazhatie
           Waitms 2
      Next


    Goto odinochnoe_nazhatie         ' Одиночное нажатие
    

    Led = 0
 End If

    My_end:
     Waitms 100
      ...
Loop
Если в теории то нашел пример:сделай цикл, в нем манюсенькую задержку, и инкрименируй переменную, при этом проверяй не отпустили ли кнопку.
Если кнопку отпустили - выходи из цикла. По значению переменной вычислишь задержку. Ставишь условие - если переменная меньше
скольких то.. переходим туда то, иначе - туда то...
но можно и заморочится с прерываниями и таймерами..
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

а можно ещё проще

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

debounce kn,0,aa
.....
.....
.....
aa:
waitms 800
if aa=0 then .....' делаем действие или переходим
else' или другое действие.
end if 
После нажатия кнопки проверяем через время (в данном случае 800 мс) нажата кнопка или нет. И если нажата, то одно действие , если нет то к другое. К примеру в часах, при нажатии переходим к установки часов, при долгом нажатии к установки будильника, как-то так.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 722
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

kip96 писал(а):а можно ещё проще.
Не знаю как автор вопроса, а я возьму на вооружение :beer:
Аватара пользователя
danton
Родился
Сообщения: 6
Зарегистрирован: Пн дек 05, 2011 21:58:33

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

Сообщение danton »

кто нибудь знает - что это за ошибка такая - когда пытаешься считать что нить с атмеги8 или посмотреть ее состояние, или что нить записать - он выдает сообщение "сработала токовая защита", это что значит контроллер бракованный или что?
программатор универсальный chipprog и софтина такая же для него.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

kip96 писал(а):а можно ещё проще

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

debounce kn,0,aa
.....
.....
.....
aa:
waitms 800
if aa=0 then .....' делаем действие или переходим
else' или другое действие.
end if 
После нажатия кнопки проверяем через время (в данном случае 800 мс) нажата кнопка или нет. И если нажата, то одно действие , если нет то к другое. К примеру в часах, при нажатии переходим к установки часов, при долгом нажатии к установки будильника, как-то так.

Спасибо, полезный код ))
us5caa
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Пт апр 04, 2008 08:48:57
Контактная информация:

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

Сообщение us5caa »

удалил...
Последний раз редактировалось us5caa Пт дек 09, 2011 20:44:41, всего редактировалось 1 раз.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 486
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Вопрос про Таймерное прерывание.

Сообщение Gordon Shumway »

Доброго времени суток, уважаемые Коты !

Что-то никак не соображу - как засечь 10 минут с помощью таймерного прерывания ?

Я так понимаю, что когда таймер переполнится - прибавить к переменной единичку и опять отправить считать таймер ?
Как-то не получается...

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

Dim A As Byte

Config Timer0 = Timer , Prescale = 1024
On Timer0 Vikl 

Enable Interrupts
Enable Timer0

Portb.2 = 1

Do

Portb.3 = 1
Wait 1
Portb.3 = 0
Wait 1

Loop

Vikl:

a=a+1
if a = число then 
...
else

?

return
Используется Tiny13, Timer1 там нету.

Спасибо заранее за ответы !
С уважением,
Алексей.
kestrel
Родился
Сообщения: 17
Зарегистрирован: Пт апр 20, 2007 21:16:18

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

Сообщение kestrel »

по посту выше, может кто-то поделится кодом отработки длительного нажатия кнопки, только с использованием таймера, тема интересная (например использование энкодера с кнопкой, которая посажена на Int0 или Int1)
заранее спасибо
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

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

Сообщение Секретный кот »

Igor_67 писал(а):Возвращаясь к своей эпопее про LCD 8x2, спешу сообщить, что я его таки победил. Правда пришлось использовать другой МК (помощнее), зато теперь все работает как надо!
У меня именно этот LCD (WH0802A) прекрасно работает без всяких ухищрений, просто для него нужно выбрать библиотеку 16х1а.
Даже остановленные часы два раза в сутки показывают правильное время.
Ответить

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