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
| решил проблему сам,все есть в гугле,"спасибо" за помощь!
|
|
| |