PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascomfehler mit RN-Control und wtv020



Chris169
10.04.2014, 17:14
Hallo,

ich habe meinen wtv020 an meinen RN-Control angeschlossen.
Beim Programmieren mit Bascom treffe ich auf folgenden Fehler: "Error programming fuses: Fuse Extended error"




'################################################# #############
'wtv020_ansteuerung.bas
'
'Ein Testprogramm für die Universalplatine RN-AVR UNIVERSAL
'
'Das Programm zeigt wie man das Sprachausgabemodul wtv020 ansteuert
'und beliebige Sound Dateien abspielen kann
'
'Bezug: www.robotikhardware.de
'Weitere Beispiele auf DVD oder im www.Roboternetz.de und rn-wissen.de
'################################################# #####################

'Portbelegung bzw. Modulverbindunga
'DATA PB1
'BUSY PB2
'CLK PB3
'RESET RESET
'GND GND
'3V 3V



Declare Sub Speakout(byval Song_nr As Word)
Declare Sub Warteaudio()


'MCS USB (Zeile weglassen wenn anderer Programmer)
$prog &HFF , &HFF , &HD9 , &HFE 'Fusebits richtig programmieren (Quarz ein,Jtag aus)

$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32

$crystal = 16000000 'QuarzFrequenzuenz
$baud = 9600
Baud = 9600

' ************ Hilfsfunktionen zur Kommunikation mit Spachausgabemodul wtv020 (c) Robotikhardware.de **************
' (nähere Infos im Datenblatt des Sprachausgabemoduls auf der www.Robotikhardeware.de DVD)
Dout Alias Portb.1
Clk Alias Portb.3
Config Dout = Output
Config Clk = Output
Config Pinb.2 = Input
Busy Alias Pinb.2


Dout = 0
Clk = 1
Wait 3
' ************ ************** ************ ************** ************ ************** ************ ***********


Config Pind.6 = Output 'LED
Led1 Alias Portd.6



Led1 = 0 'ein

Do

Call Speakout(450)
Warteaudio
Call Speakout(451)
Warteaudio
Call Speakout(1)
Warteaudio
Call Speakout(2)
Warteaudio
Call Speakout(3)
Warteaudio

wait 15
Loop












' ************ Hilfsfunktionen zur Kommunikation mit Spachausgabemodul Somo14 (c) Robotikhardware.de **************
' (nähere Infos im Datenblatt des Sprachausgabemoduls auf der www.Robotikhardeware.de DVD)


'Spielt die Datei mit der Songnummer als Dateiname
Sub Speakout(byval Song_nr As Word)
' Waitms 2 'Startimpulse
Clk = 0
Waitms 2
Shiftout Dout , Clk , Song_nr , 1 , 16 , 200 'Liednummer übertragen
Waitms 30
Clk = 1
Waitms 10
End Sub


'Wartet bis Audio Datei abgespielt wurde
Sub Warteaudio()
Do
Loop until Busy = 0
Waitms 10
End Sub



Das ist der Code, der in der Dokumentation für den wtv020 steht. Da der Code für den RN-Universal gedacht war, habe ich oben die Konfigurationen so geändert wie sie laut der RN-Wiki für den RN-Control eingestellt werden sollten.

Bitte um Hilfe.

Gruß

Searcher
10.04.2014, 17:39
Da der Code für den RN-Universal gedacht war, habe ich oben die Konfigurationen so geändert wie sie laut der RN-Wiki für den RN-Control eingestellt werden sollten.

Sehr gefährlich, da Du diese Zeile "$prog &HFF , &HFF , &HD9 , &HFE 'Fusebits richtig programmieren (Quarz ein,Jtag aus) "
nicht angepaßt hast. Die RN-Universal hat einen Mega644 Controller und Du benutzt einen Mega32. Die Fuses werden beim Mega32 anders eingestellt und ich vermute, daß sie sowieso schon richtig eingestellt sind. Du hättest Dich "aussperren" können!

Ich würde die komplette Zeile einfach komplett weglöschen und es dann nochmal probieren.

Gruß
Searcher

Chris169
10.04.2014, 18:23
Vielen Dank für die Warnung und die schnelle Antwort!

Dann muss ich mich wohl, bei meinem Controller entschuldigen.

Habe Die Zeile weg gelöscht. Es kommt keine Fehlermeldung mehr, und der Controller "benimmt" sich auch so, als würde er das Programm akzeptieren.


Habe zwar ein weiteres Problem, da es aber möglicherweise in einen anderen Bereich gehört und meine ursprüngliche Frage beantwortet ist, habe ich einen neuen Thread aufgemacht, so vorbildlich wie ich bin "huehue".

Offtopic: Direkter Links, falls Interesse besteht: https://www.roboternetz.de/community/threads/64661-Kratzen-des-Lautsprechers-RN-Control-und-wtv020?p=597631#post597631

Thread kann geschlossen werden (Oder kann ich ihn selber schließen?).

Searcher
10.04.2014, 18:35
Habe Die Zeile weg gelöscht. Es kommt keine Fehlermeldung mehr, und der Controller "benimmt" sich auch so, als würde er das Programm akzeptieren.
Wär noch interessant, ob die Fuses wirklich richtig sind. Besonders der ext. Quarz und ob der Controller wirklich mit 16MHz läuft.

Könnte hiermit zusammenhängen, wenn er nicht mit 16MHz läuft:

Habe zwar ein weiteres Problem, da es aber möglicherweise in einen anderen Bereich gehört und meine ursprüngliche Frage beantwortet ist, habe ich einen neuen Thread aufgemacht, so vorbildlich wie ich bin "huehue".
:) :)


Thread kann geschlossen werden (Oder kann ich ihn selber schließen?).
Du kannst ihn irgendwie als ERLEDIGT markieren. Da es nicht mein eigener is, kann ich nicht ausprobieren wie es geht. Eventuell ganz oben mit "Themen Optionen":confused:

Gruß
Searcher

Chris169
10.04.2014, 18:47
Kann ich denn irgendwie ermitteln, ob die tatsächliche Frequenz mit der im Bascom angegebenen Frequenz übereinstimmt?

Schande über mich und Asche auf mein Haupt, aber ich habe mich bis jetzt nur mit ein bisschen I/O Programmierung beschäftigt, dh. den "RN-Control-Doku-Bascom-Code" kopiert, abgeändert und mit einem Steckbrett und dem Programm herumgespielt. Die Frequenz und das Quarz und, wie du sicher schon gemerkt hast, die ganzen Konfigurationszeilen Außen vor gelassen.

Gruß

Searcher
10.04.2014, 18:53
Kann ich denn irgendwie ermitteln, ob die tatsächliche Frequenz mit der im Bascom angegebenen Frequenz übereinstimmt?

Hab leider das Bord nicht. Es muß aber der 16MHz Qurz installiert sein und die entsprechenden Fusebits gestzt sein.

Als erstes würd ich ein ganz einfaches Programm mit $crystal=16000000 und "wait 1" eine LED blinken lassen. Wenn die viel zu langsam blinkt, läuft er nicht mit 16MHz. Wenn es nicht stimmt und Du Dich mit den Fuses nicht auskennst, besser vor Ändern mit "Write" einen Screenshot vom Auslesen der Fuses posten.

Gruß
Searcher

Chris169
10.04.2014, 19:07
Ich werde mich bei Gelegenheit mal damit befassen und in der RN-Wiki nach den Fusebits erkundigen.

Und danke für den Tipp mit der LED.

Gruß