Hallo Timo,
ich habe die Version 1.11.8.1.
Da geht auch Dein Beispiel auch ohne Probleme....
Ich sauge gleich mal die Neue Version und probiere dann mal die Beispiele.
vg
Uwe
Hallo,
ich habe da ein Problem beim Programmieren eines AT86RF401 (433MHz Transmitter/Receiver) in Bascom (1.11.8.2).
Bascom meldet immer "Baudrate not possible" wenn ich compilieren möchte. Ich verwende aber keine UART im Programm. Nun ich weiss ich kann die Baudrate entweder unter otions/compiler/comunication oder im Programmcode einstellen. Bei frequency müsste 1000 oder 1100 kHz stehen (steht im Buch von Roland Walter, wobei ich nicht weiss ob das was mit der Baudrate zu tun hat ??). Ich habe schon verschiedene Baudraten versucht (nach Formel) aber leider gefällt Bascom keine davon.
Immer die gleiche Fehlermeldung...
(Ich habe ein .gif mit dem Prog und der Meldung hochgeladen)
Hat jemand schon mal einen AT86RF401 in Bascom geflasht?
Ich kann euch noch erzählen was ihr nicht versuchen solltet [-X
Ins Programm $BAUD = 0 einfügen. Dann compiliert Bascom wieder. Wenn man jetzt den MCU flasht wird der Brennvorgang mit der Meldung "invalid float-point-operation" abgebrochen. Das Ergebnis war bei mir ein sehr heisser IC welcher sich nicht wieder ansprechen lässt und eine Blase am kleinen Finger...
Timo
[/img]
Hallo Timo,
ich habe die Version 1.11.8.1.
Da geht auch Dein Beispiel auch ohne Probleme....
Ich sauge gleich mal die Neue Version und probiere dann mal die Beispiele.
vg
Uwe
Seltsam, klingt ganz nach einem Bug von Bascom. Rein Programmtechnisch dürfte man die Hardware nicht schädigen dürfen.
Kenne zwar diesen funk-Typ nicht, aber klingt ganz so danach, als hätte Bascom noch Probleme damit.
Andere Frage: gibts den Typ überhaupt noch? Hab bei Atmel keine Datenblätter dazu gefunden (nur AT86RF201).
Ich habe jetzt mal das Problem den MCS-Leuten geschrieben. Mal sehn was dabei rauskommt.
Ich werde die Antworten hier reinschreiben, falls es welche gibt...
Timo
OK es gibt ein Update...
Die Version 1.11.8.3 behebt das Problem. Ich es gerade gezogen. In der Beschreibung steht:
- baud rate check did also checked non-UART chips such as tiny26. Fixed.
Man sollte halt öfters mal nach nem Update schauen...
Leider muss ich erst wieder ne neue Platine machen um mein Prog zu testen. Ärgerlich, aber zumindest compiliert Bascom wieder, freu...
Danke
Timo
Hi,
Das Problem hatte ich auch letztens ich habe es dann mit $Baud = 0 umgehen können
MfG Dani.
Hallo,
wenn Du mit den AT86RF401 eine Serie vor hast, dann solltest Du aufpassen.
Der AT68RF401 wird nicht mehr Produziert. Es gibt nur noch Restposten zu kaufen.
Bei bedarf, kannst Du von mir das Datenblatt bekommen.
VG
Uwe
Hallo Uwe,
ok ich hab den IC bei Atmel nicht mehr gefunden. Ich hoffe ich bekomme noch welche... Danke für den Tipp
Ich habe jetzt endlich wieder ne neue Platine am start. Der "Floh" von der rowaldt homepage...
Timo
Hallo Timo,
ich kann Dir mit einigen AT86RF401 vielleicht helfen. Denn ich habe mir einige auf Lager gelegt...
VG
Uwe
Hey Uwe,
... ich habe noch welche geordert. (www.elk-tronic.de)
Aber danke für dein Angebot.
Wo hast du deine ICs gekauft?
Leider bugt Bascom schon wieder. Ich habe jetzt die Version 1.11.8.3. Ich schaffe es nicht ein Programm welches den VCO automatisch abstimmt auf den IC zu flashen. Der Universal-MCS-Programmer bleibt beim "writing ROM" bei etwa halben Fortschritt stehen und das Programm wird nicht weiter übertragen. Ich glaube ich werde mich mal wieder bei MCS melden.
PS.: Werde das Prog in zwei Tagen wieder aus dem Forum nehmen.
TimoCode:$regfile = "86rf401.dat" $crystal = 18080000 ' Dim I As Byte 'Für universellen Gebrauch Dim J As Byte 'Für universellen Gebrauch ' Avr_config = &B01100000 'Bits 6+5=11: AVR-Takt 1/16 ' 'VCO abstimmen: Pwr_atten = &B00101101 'Minimale Sendeleistung Tx_cntl = &B00110000 'VCO und PA ein I = 0 'Alle Cs durchfahren Vcotune: If I > 31 Then 'Fehler: Höchster C plus 1 erreicht I = 0 'Vielleicht klappt's nächstes mal Avr_config.1 = 1 'Sleep-Modus, hier geht nichts mehr End If Vcotune = I 'C setzen Lockdet1 = &B00000111 'LockDetect: 4 Fehlerzyklen... '...erlaubt, Blackout-Erkennung aus Lockdet2 = &B10000101 'UnlockDetect: 256 Zyklen ohne Fehler For J = 0 To 64 'Eingestellte Anzahl von Zyklen warten If Tx_cntl.2 = 1 Then Exit For 'PLL eingerastet: raus hier Next J Incr I 'C erhöhen If Tx_cntl.2 = 0 Then Goto Vcotune 'PLL nicht eingerastet: 'nächster C J = Vcotune And &B11000000 'VCO-VoltageDetector-Bits 'holen und isolieren If J <> 0 Then Goto Vcotune 'Wir sind (noch) nicht im gül- 'tigen Fenster, nächster C ' 'Wenn wir hier ankommen, ist der VCO abgestimmt Pwr_atten = &B00000000 'Maximale Sendeleistung Do 'Hörbaren Rechteckton senden Tx_cntl.4 = 1 'PA ein Waitus 35 'Echte Dauer abh. vom AVR-Takt! Tx_cntl.4 = 0 'PA aus Waitus 35 'Echte Dauer abh. vom AVR-Takt! Loop '[Listing zum AVR-Mikrocontroller-Lehrbuch von Roland Walter, www.rowalt.de]
Lesezeichen