-diese Library dient zum implementieren eines Terminals
auf dem Evaluation-Board “myAVR MK3″ (oder MK2)
-mit dem mitgelieferten PC-Programm können Port-Pins ausgelesen und gesetzt werden. Auch die AD-Wandler-Werte können am PC dargestellt werden.
-das Terminal wird ueber eine RS232-Schnittstelle angesprochen
aus dem Grund bindet der Treiber automatisch zusaetzlich
die V24_Treiber ein
(Beschreibung der V24-Treiber in einem separaten File)
Funktionen :
1 2 | void MK3_INIT_TERMINAL(COMPORT port, BAUDRATE baud); // zum init des Terminal CMD_TYP MK3_TERMINAL_LOOP(void); // Abfrage auf Daten |
Beispiel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | //----------------------------------------------------------------------------- // Title : prj_ub005_mk3_terminal //----------------------------------------------------------------------------- // Funktion : MK3-Terminal // Schaltung : myAVR MK3 //----------------------------------------------------------------------------- // Prozessor : ATMega2560 // Takt : 16 MHz // Sprache : C // Date : 17.07.2011 // Version : 1.1 // Autor : UB // CompilerOption: -O0 //----------------------------------------------------------------------------- #define F_CPU 16000000 #include <avr/io.h> #include <UB_MK3_2560/MK3_2560_Terminal.h> #include //----------------------------------------------------------------------------- // Hinweis : // mySmartUSB muss auf MODE=COM stehen // Status-LEDs : E=0, 1=0, 2=0, 3=1 // // zum Brennen : E=0, 1=0, 2=1, 3=1 // // - zum anzeigen aller implementierten Befehle // das Wort HELP per RS232 an das MK3 senden //----------------------------------------------------------------------------- int main (void) { CMD_TYP check=NO_CMD; // INIT vom Terminal // an COM1 mit 115200 Baud MK3_INIT_TERMINAL(COM1,B115200); // zum Test ein port setzen // um die Funktion mit RD_DDRL zu prüfen DDRL=0x0F; PORTL=0x05; while(true) { // Dauerloop vom Terminal check=MK3_TERMINAL_LOOP(); // zum test wird bei einem // unbekannten Kommando // das Kommando als Echo // ausgegeben if(check==CMD_NC) { MK3_V24_OUT(COM1,"UNKNWON=",RX_END_CRLF); MK3_V24_OUT(COM1,Terminal.rx,RX_END_CRLF); } } return 0; } |
Hier die Library zum download :