Hallo !
ich habe gestern einen kleine Steuerung : "AVR serial port control" entwickelt.
Die Anforderung stammt von Hans-Peter, DL6FAP, der damit etwas Steuern möchte.
Über eine serielle digitale Schnittstelle können mit 38400,19200, 9600 oder 4800 Baud 8 digitale Ein- und 8 digitale Ausgänge gesteuert werden.
Zur Ansteuerung eignet sich ein FT232RL oder der AVR-CDC "Virtual COM Port over Low-Speed USB ". Ich verwende gerade den AVR-CDC mit 38400 Baud.
Die seriellen Steuerbefehle sind, wie ich denke, sehr einfach und somit kann auch ein übergeordnetes Programm die Ansteuerung übernehmen.
Hier eine Übersicht:
Die Hilfe - 'h' oder 'H'
ZitatAlles anzeigen-- Hilfe
[v,V] -- Versionsanzeige
[h,H] -- Hilfe
?<opt> -- Daten einlesen
<opt>:=#<bit> -- Bit testen
<bit>:={0,..,7}
<opt>:=[b,B] -- Binärausgabe
<opt>:=[d,D] -- Dezimalausgabe
<opt>:=[h,H,x,X] -- Hexadezimalausgabe
<opt>:=[o,O] -- Oktalausgabe
!<opt> -- Daten ausgeben
<opt>:=#<bit>=<bool> -- Bit setzen
<bit>:={0,..,7}
<bool>:={0,1}
<opt>:=[b,B]<binaer> -- Binärzahl
<binaer>:=[0,1]+
<opt>:=[d,D]<dez-zahl> -- Dezimalzahl
<dez-zahl>:=[0,..,9]+
<opt>:=[h,H,x,X]<hex-zahl> -- Hexadezimalzahl
<hex-zahl>:=[0,..,9,a,..,f]+
<opt>:=[o,O]<oktal-zahl> -- Oktalzahl
<oktal-zahl>:=[0,..,7]+
Versionsanzeige - 'v' oder 'V'
Zitat-- Version
Serial Port Controller
(c) Juli 2011, DE0508
Version 1.0
(Jul 10 2011 23:08:56)
Dateneinlesen
// Ausgabe als Binärzahl
?b<return>
// Ausgabe als Dezimalzahl
?d<return>
// Ausgabe als Hexadezimalzahl
?h<return>
// das Bit 0 (INPUT0) abfragen
?#0<return>
Alles anzeigen
Datenausgeben
// Binärzahl
!b11001100<return>
// Dezimalzahl
!d204<return>
// Hexadezimalzahl
!hcc<return>
// das Bit 0 (INPUT0) setzen (=1); bzw. löschen (=0)
!#0=1
Alles anzeigen
Ich denke man sieht wie es funktioniert und <return> steht natürlich nur für die Taste <RETURN>.
Hier noch ein reales Beispiel als Terminalkopie:
ZitatAlles anzeigen?d
253
?b
11111101
?h
FD
?#1
0
Wenn jemand den kleinen "AVR serial port control" nachbauen möchte, der kann sich der drei Firmwaredateien für den atMega48, m88 oder m168 bedienen.
Die Fusebits müssen unbedingt auch auf einen externen Quarz und BOD = 4,3V eingestellt werden. Den Teiler 1/8 (CKDIV8) bitte abschalten.