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

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

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

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

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

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

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

Тяжело идет освоение программы. Вопрос такой, может есть у кого нибудь библиотека для микросхемы TDA6508 для баскома ? Никак не могу вьехать в управление. Хотя вроде и надо не много, управление данной микросхемой (кстати это микросхема тв тюнера ks-h-148) то есть тв тюнером,вывод частоты на дисплей и включение выключение усилителя. Управление всего 3 кнопки.

Есть даташит на микросхему http://p-45.narod.ru/files/TDA6508_6508 ... 509A_1.pdf

Есть куски кода которые бы могли пригодится но они на "С" http://roboforum.ru/forum16/topic9207.html
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

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

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

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

Сообщение Moto_v3x »

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

Будет примерно так

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

'   /////////////////////////
'// for KS-H-146, KS-H-148

Const__gainoff Alias &B10001000
Const__gainon Alias &B10001001                              ' Weak Signal Booster On
Const__loband Alias &B00000001
Const__miband Alias &B00000010
Const__hiband Alias &B00001100
Dim Frcvwork As Long
Dim Rcvpch1 As Word
Declare Sub Ksh14xpll
'////////////////////
Frcvwork = 145500

Sub Ksh14xpll

  Dim Fpch1 As Word
  Dim Band As Byte
  Dim Temp As Byte

     Band = Const__loband

     If Frcvwork > 155000 Then
      Band = Const__miband
     End If

     If Frcvwork > 440000 Then
      Band = Const__hiband
     End If


     Fpch1 = Frcvwork + Rcvpch1
     Fpch1 = Fpch1 / 50

     I2cstart

     I2cwbyte &B11000000                                    'Tuner Address
     Temp = High(fpch1)
     I2cwbyte Temp
     Temp= low(fpch1)
     I2cwbyte Temp
     I2cwbyte Const__gainon                                 ' Const__gainon : Const__gainoff);
     I2cwbyte Band


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

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

Сообщение edm2007 »

осторожно! леоныч!!! писал(а):Даже начать несчего, одни термометры и часы повсюду... ппц......


А работа I2C в термометрах и часах чем отличается от Вашего тюнера?! С железякой нужно разбираться, смотреть какие адреса регистров за что отвечают, и что им отправлять нужно. А уж заслать - дело второе и более простое. Тут и термометр можно ради примера взять, алгоритм-то один.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

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

Дело в том что с термометра идет в основном прием данных. Передается только его номер в начале цикла программы (после инициализации) а в тюнере все по другому, в основном все на него передается и все. Лишь при желании можно прочитать с него информацию. Что передавать видно из таблицы даташита, но при попытке работы с i2c компилятор постоянно ругался....
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

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

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

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

Сообщение edm2007 »

осторожно! леоныч!!! писал(а):Дело в том что с термометра идет в основном прием данных.


Да ладно? Например, LM75 не просто датчик, но и термостат, с регистрами порогов и конфигурации. И их тоже записывать нужно. Я же писал:

Алгоритм чтения следующий:

1. Генерируем старт обмена
2. Передаем адрес записи устройства
3. Передаем адрес регистра, к которому хотим обратиться
4. Генерируем старт обмена
5. Передаем адрес чтения устройства
6. Получаем данные
7. Завершаем процедуру чтения


Алгоритм записи (который гораздо проще чтения) следующий:

1. Генерируем старт обмена
2. Передаем адрес записи устройства
3. Передаем адрес регистра, который хотим записать
4. Передаем данные для записи
5. Завершаем процедуру записи
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

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

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

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

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

Вроде все понял, Кроме этих двух строчек

Declare Sub Ksh14xpll Это вроде подпрограмма. Где должна быть тогда строка разберемся.

Frcvwork = 145500 это наверное предустановка частоты тюнера?
Последний раз редактировалось осторожно! леоныч!!! Чт июн 14, 2012 13:17:26, всего редактировалось 1 раз.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Да при чем тут термометры?! Он по шине I2C работает! Почему Вы ищите только то, что касается Вашего тюнера? Смотрите исходники работы с I2C, все остальное есть в даташите.

Вроде все понял, Кроме этих двух строчек


http://decada.org.ru/project/lessons/bascom_avr/
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

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

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

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

Сообщение vanyap1 »

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

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

Сообщение amv2000 »

vanyap1 писал(а):Подскажите пожалуйста, каким образом можно ввести в с клавиатуры цифры. Как в телефоне например? Клавиатура матричная 4Х4

Ввести куда? Если надо пример реализации то вот http://www.qsl.net/pa3ckr/bascom%20and% ... index.html
Есть еще встроенная функция GETKBD(), но я ей не пользовался есть пример в хелпе Bascoma.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

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

Сообщение amv2000 »

На русском языке здесь http://decada.org.ru/project/lessons/bascom_avr/13/
А еще мне понравилось подключение по одному проводу идея не нова, но мне было в диковинку.

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

'**************************определение значения кнопки****************************
Sub Knob
U1 = Getadc(3)
    If U1 > 993 Then                                        'если кнопки не нажаты то на выход
     Knopka = "W"
     Goto Nop2                                              '
    End If
     If U1 < 32 Then : Knopka = "S" : Goto Nop2 : End If    '
     If U1 > 33 Then : If U1 =< 96 Then : Knopka = "T" : Goto Nop2 : End If : End If
     If U1 > 97 Then : If U1 =< 160 Then : Knopka = "M" : Goto Nop2 : End If : End If
     If U1 > 161 Then : If U1 =< 224 Then : Knopka = "I" : Goto Nop2 : End If : End If
     If U1 > 225 Then : If U1 =< 288 Then : Knopka = "U" : Goto Nop2 : End If : End If
     If U1 > 289 Then : If U1 =< 352 Then : Knopka = "." : Goto Nop2 : End If : End If
     If U1 > 353 Then : If U1 =< 416 Then : Knopka = "0" : Goto Nop2 : End If : End If       '
     If U1 > 417 Then : If U1 =< 480 Then : Knopka = "1" : Goto Nop2 : End If : End If
     If U1 > 481 Then : If U1 =< 544 Then : Knopka = "2" : Goto Nop2 : End If : End If
     If U1 > 545 Then : If U1 =< 608 Then : Knopka = "3" : Goto Nop2 : End If : End If:
     If U1 > 609 Then : If U1 =< 672 Then : Knopka = "4" : Goto Nop2 : End If : End If
     If U1 > 673 Then : If U1 =< 736 Then : Knopka = "5" : Goto Nop2 : End If : End If
     If U1 > 737 Then : If U1 =< 800 Then : Knopka = "6" : Goto Nop2 : End If : End If       '
     If U1 > 801 Then : If U1 =< 864 Then : Knopka = "7" : Goto Nop2 : End If : End If
     If U1 > 865 Then : If U1 =< 928 Then : Knopka = "8" : Goto Nop2 : End If : End If
     If U1 > 929 Then : If U1 =< 992 Then : Knopka = "9" : End If : End If
Nop2:
    End Sub
Подробнее http://forum.avr.ru/bascom-avr-kak-beat ... 796p3.html
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

Нагорожено конечно, кошмар. Кто мешал проверять диапазоны так:

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

If U1 > 225 And U1 =< 288 Then...


Или через Select Case

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

Case 225 To 288:


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

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

Сообщение amv2000 »

edm2007 писал(а):Нагорожено конечно, кошмар.

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

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

Сообщение edm2007 »

amv2000 писал(а):Ну тут наверное важнее основная идея.


Ага, так оно и есть. :)) Кстати, такой вариант не сильно больше, но нагляднее:

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

Select Case U1

     Case Is <= 32 : Knopka = "S"
     Case 33 To 96 : Knopka = "T"
     Case 97 To 160 : Knopka = "M"
     Case 161 To 224 : Knopka = "I"
     Case 225 To 288 : Knopka = "U"
     Case 289 To 352 : Knopka = "."
     Case 353 To 416 : Knopka = "0"
     Case 417 To 480 : Knopka = "1"
     Case 481 To 544 : Knopka = "2"
     Case 545 To 608 : Knopka = "3"
     Case 609 To 672 : Knopka = "4"
     Case 673 To 736 : Knopka = "5"
     Case 737 To 800 : Knopka = "6"
     Case 801 To 864 : Knopka = "7"
     Case 865 To 928 : Knopka = "8"
     Case 929 To 992 : Knopka = "9"
     Case Is >= 993 : Knopka = "W"

End Select


amv2000 писал(а):все таки виновник дисплей, а не руки из жопы...


Ну и славно. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
raf65
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс сен 27, 2009 20:49:06
Откуда: Советск

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

Сообщение raf65 »

edm2007 писал(а):
amv2000 писал(а):Ну тут наверное важнее основная идея.


Ага, так оно и есть. :)) Кстати, такой вариант не сильно больше, но нагляднее:

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

Select Case U1

     Case Is <= 32 : Knopka = "S"
     Case 33 To 96 : Knopka = "T"
     Case 97 To 160 : Knopka = "M"
     Case 161 To 224 : Knopka = "I"
     Case 225 To 288 : Knopka = "U"
     Case 289 To 352 : Knopka = "."
     Case 353 To 416 : Knopka = "0"
     Case 417 To 480 : Knopka = "1"
     Case 481 To 544 : Knopka = "2"
     Case 545 To 608 : Knopka = "3"
     Case 609 To 672 : Knopka = "4"
     Case 673 To 736 : Knopka = "5"
     Case 737 To 800 : Knopka = "6"
     Case 801 To 864 : Knopka = "7"
     Case 865 To 928 : Knopka = "8"
     Case 929 To 992 : Knopka = "9"
     Case Is >= 993 : Knopka = "W"

End Select


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

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

Сообщение edm2007 »

Угу, Select Case прожорливая вещь. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Ответить

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