BASCOM AVR в вопросах и ответах
- Реклама
Re: BASCOM AVR в вопросах и ответах
доброе время суток.
Подскажите как узнать значение одельного бита в переменой типа Байт.
Просто из памяти типа 24CXX считывается по байтно, а мне нужно значение конкретных битов.
Подскажите как узнать значение одельного бита в переменой типа Байт.
Просто из памяти типа 24CXX считывается по байтно, а мне нужно значение конкретных битов.
Только абсолютная пустота бездны принесёт мне покой.
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
этот код мне непонятно, может еще что нибудь есть?Moto_v3x писал(а):vanyap1
Может такой фокус прокатит
http://radiokot.ru/forum/viewtopic.php?p=105460#p105460
Re: BASCOM AVR в вопросах и ответах
TRIOD писал(а):Подскажите как узнать значение отдельного бита в переменой типа Байт.
Код: Выделить всё
var.x- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Не так давно писал про это:TRIOD писал(а):Подскажите как узнать значение одельного бита в переменой типа Байт.
Dim Temp As Byte , Result As Byte
Temp = &B10101010 ' загружаем число во временную переменную
Result = Temp.5 ' забираем в переменную Result 5-й бит переменной Temp (результат = 1)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Реклама
Re: BASCOM AVR в вопросах и ответах
люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
в моем случае это цветомузыкальный медальон "кошачий глаз" http://radiokot.ru/circuit/light/run/35/ .
во первых - атмега8 - у нее вроде как isp интерфейс - значит можно программировать прямо в собранном медальоне? или нужно собирать какую то схему для программирования? или как это вообще делается?
во вторых - вот допустим я скачал прошивку для него, открыл в bascom avr и как вот ее зашивать туда? я там даже до фьюзбитов не могу добраться, и ваще не понимаю что делать то нужно
помогите пожалуйста чайнику
а то не могу сам никак разобраться, что к чему и как это делается...
в моем случае это цветомузыкальный медальон "кошачий глаз" http://radiokot.ru/circuit/light/run/35/ .
во первых - атмега8 - у нее вроде как isp интерфейс - значит можно программировать прямо в собранном медальоне? или нужно собирать какую то схему для программирования? или как это вообще делается?
во вторых - вот допустим я скачал прошивку для него, открыл в bascom avr и как вот ее зашивать туда? я там даже до фьюзбитов не могу добраться, и ваще не понимаю что делать то нужно
помогите пожалуйста чайнику
Re: BASCOM AVR в вопросах и ответах
Доброе время суток.
Подскажите как в Баскоме отключить неиспользуемые адресные линии внешней оперативки?
Использую Мега8515 и 32KB ОЗУ. У этой меге 15 адресных линий причём линии с A8 по A15 вродебы можно отключить через регистр SFIOR.
По сколько у меня 32KB памяти то линия A15 мне ненужна и надо её отключить для других нужд, но не получается. Может кто в курсе как это сделать?
Подскажите как в Баскоме отключить неиспользуемые адресные линии внешней оперативки?
Использую Мега8515 и 32KB ОЗУ. У этой меге 15 адресных линий причём линии с A8 по A15 вродебы можно отключить через регистр SFIOR.
По сколько у меня 32KB памяти то линия A15 мне ненужна и надо её отключить для других нужд, но не получается. Может кто в курсе как это сделать?
Только абсолютная пустота бездны принесёт мне покой.
- amv2000
- Опытный кот
- Сообщения: 722
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: BASCOM AVR в вопросах и ответах
Для начала почитать http://radiokot.ru/start/mcu_fpga/avr/ дальше будут вопросы спрашивать.(В кратце собрать программатор, соеденить с МК, прошить прошивку)danton писал(а):люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
Re: BASCOM AVR в вопросах и ответах
я понимаю, я там тоже читал. мне просто интересно - в самом медальоне можно прошить контроллер или нет?amv2000 писал(а):Для начала почитать http://radiokot.ru/start/mcu_fpga/avr/ дальше будут вопросы спрашивать.(В кратце собрать программатор, соеденить с МК, прошить прошивку)danton писал(а):люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
- amv2000
- Опытный кот
- Сообщения: 722
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: BASCOM AVR в вопросах и ответах
в DIP корпусе сначала надо прошить, там имеется панелька а в корпусе TQFP можно непосредственно на плате там разъем снизу...
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Подскажите пожалуйста как обработать длительное удержание кнопки?
- amv2000
- Опытный кот
- Сообщения: 722
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: BASCOM AVR в вопросах и ответах
Есть такой пример: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 в вопросах и ответах
а можно ещё проще
После нажатия кнопки проверяем через время (в данном случае 800 мс) нажата кнопка или нет. И если нажата, то одно действие , если нет то к другое. К примеру в часах, при нажатии переходим к установки часов, при долгом нажатии к установки будильника, как-то так.
Код: Выделить всё
debounce kn,0,aa
.....
.....
.....
aa:
waitms 800
if aa=0 then .....' делаем действие или переходим
else' или другое действие.
end if Все делают ошибки, только мудрецы - новые, а дураки - старые.
- amv2000
- Опытный кот
- Сообщения: 722
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: BASCOM AVR в вопросах и ответах
Не знаю как автор вопроса, а я возьму на вооружениеkip96 писал(а):а можно ещё проще.
Re: BASCOM AVR в вопросах и ответах
кто нибудь знает - что это за ошибка такая - когда пытаешься считать что нить с атмеги8 или посмотреть ее состояние, или что нить записать - он выдает сообщение "сработала токовая защита", это что значит контроллер бракованный или что?
программатор универсальный chipprog и софтина такая же для него.
программатор универсальный chipprog и софтина такая же для него.
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
kip96 писал(а):а можно ещё проще
После нажатия кнопки проверяем через время (в данном случае 800 мс) нажата кнопка или нет. И если нажата, то одно действие , если нет то к другое. К примеру в часах, при нажатии переходим к установки часов, при долгом нажатии к установки будильника, как-то так.Код: Выделить всё
debounce kn,0,aa ..... ..... ..... aa: waitms 800 if aa=0 then .....' делаем действие или переходим else' или другое действие. end if
Спасибо, полезный код ))
-
us5caa
- Первый раз сказал Мяу!
- Сообщения: 38
- Зарегистрирован: Пт апр 04, 2008 08:48:57
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
удалил...
Последний раз редактировалось us5caa Пт дек 09, 2011 20:44:41, всего редактировалось 1 раз.
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 486
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Вопрос про Таймерное прерывание.
Доброго времени суток, уважаемые Коты !
Что-то никак не соображу - как засечь 10 минут с помощью таймерного прерывания ?
Я так понимаю, что когда таймер переполнится - прибавить к переменной единичку и опять отправить считать таймер ?
Как-то не получается...
Используется Tiny13, Timer1 там нету.
Спасибо заранее за ответы !
Что-то никак не соображу - как засечь 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Спасибо заранее за ответы !
С уважением,
Алексей.
Алексей.
Re: BASCOM AVR в вопросах и ответах
по посту выше, может кто-то поделится кодом отработки длительного нажатия кнопки, только с использованием таймера, тема интересная (например использование энкодера с кнопкой, которая посажена на Int0 или Int1)
заранее спасибо
заранее спасибо
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
У меня именно этот LCD (WH0802A) прекрасно работает без всяких ухищрений, просто для него нужно выбрать библиотеку 16х1а.Igor_67 писал(а):Возвращаясь к своей эпопее про LCD 8x2, спешу сообщить, что я его таки победил. Правда пришлось использовать другой МК (помощнее), зато теперь все работает как надо!
Даже остановленные часы два раза в сутки показывают правильное время.


