[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » форумы » В разработке » rds в rda5807m (как декодировать?)
rds в rda5807m
bulatДата: Вторник, 17.04.2018, 20:15 | Сообщение # 1
Группа: Проверенные
Сообщений: 110

Статус: Offline
Имеются приемники на RDA5807,дисплей нокиа 5110,радио работает прекрасно,хочу добавить рдс но я в этом ноль...
есть ли у кого пример кода приема и декодирования  рдс на bascom avr?




Сообщение отредактировал bulat - Вторник, 17.04.2018, 20:16
 
bulatДата: Вторник, 17.04.2018, 21:58 | Сообщение # 2
Группа: Проверенные
Сообщений: 110

Статус: Offline
код,данные считываются
$regfile = "m328pdef.dat"       ' Èñïîëüçóåìûé êîíòðîëëåð
  $crystal = 16000000       ' 2000000  ' 4000000  ' 8000000
  $framesize = 40
  $hwstack = 40
  $swstack = 40
  $baud = 9600
  PRINT "rds 002.bas"
'--------------------PIN ------------------------------------------------
Config PortD.2 = Input : PLUS alias pinD.2 : Portd.2 = 1
Config Portd.3 = Input : ON_OFF alias pind.3 : Portd.3 = 1
Config Portd.4 = Input : MENU alias pind.4 : Portd.4 = 1
Config Portb.0 = Input : MINUS alias pinb.0 : Portb.0 = 1
Config Portb.5 = output : Mute_invert alias portb.5 : Portb.5 = 1
Config Portb.4 = output : Mute alias portb.4 : Portb.4 = 0
'-----------------------------------------------------------------------------------------------------
Config I2cdelay = 10
Config Sda = PortC.4
Config Scl = PortC.5
i2cinit
dim danew as word
dim dane(12) as byte
dim freg as word
dim volume as byte
freg = 996       ' 996
volume = 3
gosub rda5807_init

do
 gosub readdane
 waitms 200

loop

rda5807_init:
  '02
  I2cstart
  I2cwbyte &H22
  I2cwbyte &H00
  I2cwbyte &HC2
  I2cwbyte &H89
  I2cstop
  '03
  I2cstart
  I2cwbyte &H22
  I2cwbyte &H03
  danew = freg - 870
  'dane = dane * 255
  shift danew , left , 6
  I2cwbyte High(danew)       'dane / 4       '
  set danew.4       ' set dane.4
  'set dane.3
  I2cwbyte low(danew)
  'I2cwbyte &H00
  'I2cwbyte &H02
  I2cstop
  '04
  I2cstart
  I2cwbyte &H22
  I2cwbyte &H04
  I2cwbyte &H00
  I2cwbyte &H00
  I2cstop
  '05
  I2cstart
  I2cwbyte &H22
  I2cwbyte &H05
  I2cwbyte &H08
  I2cwbyte &H88
  I2cstop
  '07
  I2cstart
  I2cwbyte &H22
  I2cwbyte &H07
  I2cwbyte &H7C
  I2cwbyte &H02
  I2cstop
return

 '÷òåíèå
Readdane:
    I2cstart
    I2cwbyte &h22       'read
    I2cwbyte &h0A       ' b  Regno = &B00001010
    I2cstart
    I2cwbyte &h23       'adressread
    I2crbyte dane(1) , Ack       ' RDSR STC  SF RDSS  BLK_E  ST  READCHAN[9:8]
    I2crbyte dane(2) , Ack
    I2crbyte dane(3) , Ack
    I2crbyte dane(4) , Ack
    I2crbyte dane(5) , Ack
    I2crbyte dane(6) , Ack       ' RDSR STC  SF RDSS  BLK_E  ST  READCHAN[9:8]
    I2crbyte dane(7) , Ack
    I2crbyte dane(8) , Ack
    I2crbyte dane(9) , Ack
    I2crbyte dane(10) , Ack
    I2crbyte dane(11) , ack
    I2crbyte dane(12) , nack
    I2cstop
     'BLER = 0
     'BLER = dane_BL mod 4
     'PTY = dane_DH / 8       'led_stereo = dane1.2
  Return




Сообщение отредактировал bulat - Вторник, 17.04.2018, 21:58
 
bulatДата: Среда, 18.04.2018, 21:23 | Сообщение # 3
Группа: Проверенные
Сообщений: 110

Статус: Offline
решил проблему сам,все есть в гугле,"спасибо" за помощь!

 
Форум » форумы » В разработке » rds в rda5807m (как декодировать?)
  • Страница 1 из 1
  • 1
Поиск: