Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » K1000uC » Themenansicht

Autor Thread - Seiten: -1-
000
17.09.2012, 07:34 Uhr
felge1966
Default Group and Edit


Ich mache hier mal einen Beitrag zum Nachbau der K100x von Micha auf.
Mein Nachbau läuft schon einmal soweit. Allerdings stellen sich mir doch noch ein paar Fragen:
- Wie erfolgt die Nutzung der SD-Karte und wie muß sie dafür eingerichtet sein?
- Was kann ich mit der V.24 Schnittstelle tun und wann ist sie aktiv?

Gruß Jörg
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
17.09.2012, 08:27 Uhr
Micha

Avatar von Micha

SD Karte wird im Raw Modus benutzt, jeweils 8 Blöcke = 4 KByte für ein Programm. Diese Karte sollte man für keine anderen Daten benutzen

Programm speichern mit [MKS] gefolgt von dreistelliger Nummer.
Wenn die Software der Meinung ist, dass in dem zu überschreibenden Bereich der SD-Karte schon Daten stehen, fängt die Status-LED KOMPL zu blinken an.
Mit [Lö] wird das Überschreiben bestätigt, jede andere Taste bricht den Schreibvorgang ab.

Programm laden mit [MKL] gefolgt von dreistelliger Nummer.
Geladen und gespeichert wird ab dem aktuellen Programmzähler, bis zu einem [ENDE] Befehl.

Die serielle Schnittstelle ist so konzipiert, dass sie mit einem USB-auf-Seriell Adapter direkt anschliessbar ist. PC seitig benötigt man ein Terminalprogramm (z.B. das kostenlose puTTY), mit den Einstellungen 9600 8N1, ohne Handshake. Mit der Taste [SER] wird ein einfaches (selbsterklärendes) Monitorprogramm aktiviert, mit dem man im Speicher des K1000 herumspionieren kann. Zurück zum Normalbetrieb kommt man von dort durch Eingabe von x, oder auf der K1000 Tastatur mit der Taste [PROGR EING].

Später soll an die serielle Schnittstelle ein Thermostreifendrucker, aber bis dahin ist noch einiges zu "erforschen".

Dieser Beitrag wurde am 17.09.2012 um 20:59 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
03.10.2015, 15:27 Uhr
Micha

Avatar von Micha

Jetzt hab ich seit Jahren die Firmware meines K1000-Nachbaus endlich mal wieder ein wenig überarbeitet. Im Grunde fand ich es damals selber schon doof, daß die K1000-Programme auf die SD-Karte im Raw Modus geschrieben werden, der zu nix anderem kompatibel ist.
Also hab ich jetzt endlich eine FAT Bibliothek eingebunden, man kann also jetzt jede FAT-formatierte SD-Karte mit dem K1000 verwenden. Und die Programme werden jetzt nicht mehr binär gespeichert sondern als kommentierbarer Text, siehe Beispiel.

Falls jemand die neue Firmware haben möchte, bitte per PN Bescheid geben.

Quellcode:

; K1000 Demo:
; Countdown Programm.
; nachdem eine Zahl eingegeben wurde, wird das Programm mit [STM][STM] gestartet.
; Der Wert im Display wird solange dekrementiert, bis Null erreicht ist.

0000 155 MRK    ; Marke "STM"
0001 135 STM    ; [STM] ist die praktischste Wahl für einen Programmstart

0002 014 INT    ; Ganzzahl erzwingen, sonst funktioniert =0 Test nicht
0003 167 KOM
0004 107 0      ; Zahlenformat Festkomma mit 0 Nachkommastellen

0005 155 MRK    ; Marke "1"
0006 076 1  

0007 164 PAU    ; ca. 1 sek. pausieren und dabei den Inhalt des X Registers anzeigen
0008 146 =0
0009 135 STM
0010 106 2      ; wenn Test erfüllt, springe zur Marke "2"
0011 137 ST
0012 137 ST     ; die 4 Byte nach dem Test =0 müssen gefüllt sein
0013 076 1  
0014 125 SUB    
0015 135 STM    ; Rücksprung zur Marke "1"
0016 076 1  

0017 155 MRK    ; Marke "2"
0018 106 2  

0019 165 END

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
04.10.2015, 18:43 Uhr
Micha

Avatar von Micha

Die Firmware für den Atmega hab ich ja in C geschrieben. Und wie wir alle mehr oder weniger wissen ist C eine launische Diva, die Programmierfehler erst mal scheinbar durchgehen läßt, aber einen dann gnadenlos vor die Wand fährt.
Genug der blumigen Umschreibung. Im konkreten Fall hatte ich gestern ein Programm zusammen, das vieles besser machen sollte. Aber heute stand nach einigen Tests fest - da stimmt was nicht! Eigentlich sollte die Hardware protestieren, wenn bei Lese/Schreibversuchen keine SD-Card eingesteckt war. Aber *uneigentlich* verschluckte sich das Programm, anstatt einer definierten Fehler-Reaktion.
Nach mehrmaligem Durchsehen des Codes bin ich schließlich fündig geworden. Diese Zeile:

if (RetVal = F_OK)

hätte eigentlich so ausschauen sollen:

if (RetVal == F_OK)

Das erste ist eine Zuweisung, das zweite ist der eigentlich beabsichtigte Vergleich. Beides ist in C gültige Syntax, führt aber zu ggf. sehr unterschiedlichen Konsequenzen!

Mit C ist das eben so eine Sache... wenn man es nicht ständig verwendet und infolge dessen einen 7ten Sinn für die Fallstricke entwickelt, kann man gnadenlos baden gehen.

Dieser Beitrag wurde am 04.10.2015 um 18:46 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
30.01.2016, 07:46 Uhr
Micha

Avatar von Micha

Die Tage hab ich die Firmware noch mal gründlich durchleuchtet - ein paar Bugs behoben, das Laden von Dateien verbessert: Interpretation von Textdateien unterschiedlichen Ursprungs: Notepad etc.

Gibt auch eine kleine Menge an Demo-Programmen. Nix weltbewegendes, aber falls es jemanden interessiert einfach ne PN schicken.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
23.04.2018, 21:21 Uhr
Micha

Avatar von Micha

Nach sehr langer Zeit gibts nochmal Neuigkeiten zum Thema K1000uC:

eine neue Version der Firmware, paar kleine Bugs wurden behoben.
Viel interessanter: Rolf Weidlich hat einen genialen Spickzettel für den K1000uC gestaltet! Auf einem doppelseitigen A4 Blatt die wichtigsten Befehle und Hinweise in Kurzform. Ich hätte das nie so kompakt und gut hinbekommen - Hut ab vor Rolf!

Ich hab hier noch irgendwo ein Laminiergerät - muss das nur noch finden in meiner Unordnung.
Angebot an alle, die den K1000uC damals aufgebaut haben: sendet mir Eure Adresse, und ich schick Euch so einen laminierten "Spickzettel" zu, sobald wie möglich.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
27.06.2018, 20:53 Uhr
Micha

Avatar von Micha

Heute ist es endlich passiert:
ich hab die Laminierfolien gefunden und die Spickzettel generiert. Werd die Dinger noch vorm WE an alle versenden die sich bei mir gemeldet hatten.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
03.07.2018, 17:05 Uhr
Mobby5



Mein "Spickzettel" ist heute eingetrudelt. Vielen Dank dafür
--
und ausserdem muss in Zeile 20 der Doppelpunkt durch ein Semikolon ersetzt werden
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek