PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AT86RF401 ...Bascom verlangt nach Baudrate



Plasmagerd
16.06.2006, 17:10
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... 8-[

Timo

[/img]

UweMD
16.06.2006, 18:28
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

Rage_Empire
16.06.2006, 21:18
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).

Plasmagerd
16.06.2006, 21:24
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

Plasmagerd
16.06.2006, 21:49
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... 8-[

Leider muss ich erst wieder ne neue Platine machen um mein Prog zu testen. Ärgerlich, aber zumindest compiliert Bascom wieder, freu...


Danke

Timo

Dani-Bruchflieger
17.06.2006, 22:00
Hi,

Das Problem hatte ich auch letztens ich habe es dann mit $Baud = 0 umgehen können ;)

UweMD
19.06.2006, 11:29
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

Plasmagerd
21.06.2006, 16:07
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

UweMD
21.06.2006, 16:22
Hallo Timo,

ich kann Dir mit einigen AT86RF401 vielleicht helfen. Denn ich habe mir einige auf Lager gelegt...

VG
Uwe

Plasmagerd
22.06.2006, 22:49
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. 8-[



$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]

Timo

UweMD
23.06.2006, 08:10
Hallo Timo,


ich habe meine bei Digikey.com gekauft. ca. 3€ das Stück.
Also ich kann das Programm ohne übertragen.


mfg
Uwe

Plasmagerd
23.06.2006, 15:52
Hallo Uwe,
OK danke für den Test.
Der Hardware müsste es ja eigentlich egal sein welches Programm durchkommt.
Nur: Das erste Programm kann ich ohne Probleme flashen, der IC funtkioniert danach auch. Nur dieses Prog nicht.
... ich kann mit meiner Bascomversion z.B. einen Mega8 zu 100% fehlerfrei füllen (also dessen Flash).

Da es bei dir funktioniert müsste es ein Problem mit Windows/Treiber/etc. in Verbindung mit dem compilierten Programm sein. Leider habe ich momentan keinen Plan was ich dagegen tun könnte. Vielleicht ein anderes Brennprogramm...


Gruss
Timo

Plasmagerd
23.06.2006, 16:33
@ ich habe es jetzt mal mit TwinAvr probiert... das selbe Problem.

Uwe bitte poste mal das .bin-File welches dir dein Bascom compiliert hat. Vielleicht hat mein Bascom ein paar Bits locker.
(Du hast doch auch V1.11.8.3 oder?)

Gruss
Timo

Plasmagerd
23.06.2006, 16:50
Ich habe das Problem gefunden. Ich habe den Programmtext einfach kopiert und in ein neues File geschrieben, dann gespeichert, compiliert und siehe da es lässt sich rüberflashen. Was für ein ... Problem.
Was mir dabei auffiel ist, dass das Programm nun 1% mehr Flash benötigt.
Nun ja, das Prog läuft, ich bin happy...


Gruss Timo

UweMD
23.06.2006, 16:58
Hallo Timo,


ich habe die Version 1.11.8.1 und Version 1.11.8.3 geht mit beiden Versionen und einen STK500 dran. Keine Ahnung warum es bei Dir nicht durchlaufen sollte.
Ich hatte auch schon mal so einen Effekt... Ändere doch mal die Variablen Testweise von Byte in Integer.

mfg
Uwe