Страница 104 из 304

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

Добавлено: Пн дек 05, 2011 00:17:12
Moto_v3x
vanyap1
Может такой фокус прокатит
http://radiokot.ru/forum/viewtopic.php?p=105460#p105460

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

Добавлено: Пн дек 05, 2011 09:37:39
TRIOD
доброе время суток.

Подскажите как узнать значение одельного бита в переменой типа Байт.
Просто из памяти типа 24CXX считывается по байтно, а мне нужно значение конкретных битов.

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

Добавлено: Пн дек 05, 2011 10:30:58
vanyap1
Moto_v3x писал(а):vanyap1
Может такой фокус прокатит
http://radiokot.ru/forum/viewtopic.php?p=105460#p105460
этот код мне непонятно, может еще что нибудь есть?

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

Добавлено: Пн дек 05, 2011 11:27:22
Мурик
TRIOD писал(а):Подскажите как узнать значение отдельного бита в переменой типа Байт.
где var это переменная, а x это требуемый бит от 0 до 7.

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

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

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

Result = Temp.5 ' забираем в переменную Result 5-й бит переменной Temp (результат = 1)

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

Добавлено: Вт дек 06, 2011 16:07:42
danton
люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
в моем случае это цветомузыкальный медальон "кошачий глаз" http://radiokot.ru/circuit/light/run/35/ .
во первых - атмега8 - у нее вроде как isp интерфейс - значит можно программировать прямо в собранном медальоне? или нужно собирать какую то схему для программирования? или как это вообще делается? :shock:
во вторых - вот допустим я скачал прошивку для него, открыл в bascom avr и как вот ее зашивать туда? я там даже до фьюзбитов не могу добраться, и ваще не понимаю что делать то нужно :dont_know:
помогите пожалуйста чайнику :cry: а то не могу сам никак разобраться, что к чему и как это делается...

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

Добавлено: Вт дек 06, 2011 19:28:49
TRIOD
Доброе время суток.
Подскажите как в Баскоме отключить неиспользуемые адресные линии внешней оперативки?
Использую Мега8515 и 32KB ОЗУ. У этой меге 15 адресных линий причём линии с A8 по A15 вродебы можно отключить через регистр SFIOR.
По сколько у меня 32KB памяти то линия A15 мне ненужна и надо её отключить для других нужд, но не получается. Может кто в курсе как это сделать?

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

Добавлено: Вт дек 06, 2011 20:53:00
amv2000
danton писал(а):люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
Для начала почитать http://radiokot.ru/start/mcu_fpga/avr/ дальше будут вопросы спрашивать.(В кратце собрать программатор, соеденить с МК, прошить прошивку)

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

Добавлено: Ср дек 07, 2011 01:22:35
danton
amv2000 писал(а):
danton писал(а):люди добрые! я впервые собираю схему с контроллером и понятия не имею как его программировать.
Для начала почитать http://radiokot.ru/start/mcu_fpga/avr/ дальше будут вопросы спрашивать.(В кратце собрать программатор, соеденить с МК, прошить прошивку)
я понимаю, я там тоже читал. мне просто интересно - в самом медальоне можно прошить контроллер или нет?

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

Добавлено: Ср дек 07, 2011 06:43:59
amv2000
в DIP корпусе сначала надо прошить, там имеется панелька а в корпусе TQFP можно непосредственно на плате там разъем снизу...

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

Добавлено: Ср дек 07, 2011 11:46:35
vanyap1
Подскажите пожалуйста как обработать длительное удержание кнопки?

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

Добавлено: Ср дек 07, 2011 16:41:55
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
Если в теории то нашел пример:сделай цикл, в нем манюсенькую задержку, и инкрименируй переменную, при этом проверяй не отпустили ли кнопку.
Если кнопку отпустили - выходи из цикла. По значению переменной вычислишь задержку. Ставишь условие - если переменная меньше
скольких то.. переходим туда то, иначе - туда то...
но можно и заморочится с прерываниями и таймерами..

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

Добавлено: Чт дек 08, 2011 14:03:32
kip96
а можно ещё проще

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

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

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

Добавлено: Чт дек 08, 2011 15:49:04
amv2000
kip96 писал(а):а можно ещё проще.
Не знаю как автор вопроса, а я возьму на вооружение :beer:

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

Добавлено: Чт дек 08, 2011 16:36:05
danton
кто нибудь знает - что это за ошибка такая - когда пытаешься считать что нить с атмеги8 или посмотреть ее состояние, или что нить записать - он выдает сообщение "сработала токовая защита", это что значит контроллер бракованный или что?
программатор универсальный chipprog и софтина такая же для него.

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

Добавлено: Чт дек 08, 2011 20:11:40
vanyap1
kip96 писал(а):а можно ещё проще

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

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

Спасибо, полезный код ))

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

Добавлено: Пт дек 09, 2011 10:42:51
us5caa
удалил...

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

Добавлено: Пт дек 09, 2011 13:04:26
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 там нету.

Спасибо заранее за ответы !

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

Добавлено: Пт дек 09, 2011 23:09:27
kestrel
по посту выше, может кто-то поделится кодом отработки длительного нажатия кнопки, только с использованием таймера, тема интересная (например использование энкодера с кнопкой, которая посажена на Int0 или Int1)
заранее спасибо

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

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