Hallo zusammen, bis auf RDS und halt Channel auslesen funktioniert alles. RDS kommt später, wenn ich endlich die Senderfrequenz auslesen kann. Im Debugger lese ich immer eine 0 aus dem Register READCHAN des SI4703, nach erfolgreichem SEEK. Alles andere wie Volume, Seek Up/Down funktioniert tadellos. Hat einer eine Tip, woran es liegt?? Controller ist ein STM32F407 Gruß Sascha
:
Bearbeitet durch User
Guten Morgen, es ist interessant. Wenn ich den Sender REL auf 96,1MHz (9610) einstelle, findet der SI den auch, jedoch bleibt das Register 0Bh READCHAN auf 0. Ich verstehe es einfach nicht.
Wie immer saß das Problem vor dem Rechner: In der Routine savesi4703_registers hatte ich 32 Bytes geschrieben und somit wohl einiges überschrieben. Nun mit 12 Bytes geht es. Witzig jedoch, das Seek Volume einstellen geklappt hat.
1 | char savesi4703_registers(void) |
2 | {
|
3 | uint8_t outBuff[32]={0,}; |
4 | uint8_t i = 0; |
5 | |
6 | for(uint8_t regSpot = 0x02 ; regSpot < 0x08 ; regSpot++) { |
7 | outBuff[i++] = si4703_registers[regSpot] >> 8; |
8 | outBuff[i++] = si4703_registers[regSpot] & 0x00FF; |
9 | }
|
10 | HAL_I2C_Master_Transmit(&hi2c1, SI4703, outBuff, 12, 10); |
11 | return(1); |
12 | }
|
Gruß Sascha
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.