-diese Library dient zur Benutzung der
V24-Schnittstellen des Mikroprozessors
-die CPU hat vier V24-Schnittstellen, je nach dem welche
benutzt werden soll, muessen die Signale an die Richtigen
Pins gefuehrt werden
-beim senden ueber die TX-Leitung (V24_OUT)
kann bestimmt werden was als Endekennung mitgesendet werden soll
[nichts, CarriageReturn, LineFeed, CarriageReturn+LineFeed]
-beim empfangen ueber die RX-Leitung (V24_IN)
wartet die CPU bis ein CarriageReturn empfangen wurde
(also muss der Sender ein CarriageReturn anhaengen)
Funktionen :
1 2 3 | void MK3_INIT_V24(COMPORT port, BAUDRATE baud); // zum initialisieren des V24-Port void MK3_V24_OUT(COMPORT port, char *ptr,RX_END ende); // sendet String per V24 bool MK3_V24_IN(COMPORT port,char *ptr); // String vom Puffer auslesen |
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 60 61 62 63 | //----------------------------------------------------------------------------- // Title : bsp_ub009_mk3_rs232 //----------------------------------------------------------------------------- // Funktion : RS232 Test // Schaltung : myAVR MK3 //----------------------------------------------------------------------------- // Prozessor : ATMega2560 // Takt : 16 MHz // Sprache : C // Date : 13.02.2010 // Version : 1.0 // Autor : UB //----------------------------------------------------------------------------- #define F_CPU 16000000 #include <avr/io.h> #include <ub_mk3_2560/MK3_2560_LCD.h> #include <ub_mk3_2560/MK3_2560_KEY.h> #include <ub_mk3_2560/MK3_2560_V24.h> char buf[RX_PUFFER_LEN]; //----------------------------------------------------------------------------- // Hinweis : Quick-Jumper Port-C+A, Port-K muss gesetzt sein // - sendet bei Tastendruck einen String // - zeigt einen empfangenen String an //----------------------------------------------------------------------------- int main (void) { MK3_INIT_LCD(); // init des LCD MK3_INIT_KEY(); // init der Tasten MK3_INIT_V24(COM1,B38400); // init der V24 am mySmartUSB MK3 MK3_LCD_CLEAR(); // LCD loeschen MK3_LCD_LIGHT(true); // beleuchtung einschalten MK3_LCD_STRING_AT(0,0,"RS232 Terminal"); MK3_LCD_STRING_AT(0,8,"COM1, 38400Baud, 8N1"); MK3_LCD_STRING_AT(0,16,"Taste1 sendet 'Hallo'"); MK3_LCD_STRING_AT(0,40,"Rx= "); while (true) { // sende bei Tastendruck einen Text if(MK3_KEY_SET(BUTTON1)) { MK3_LCD_STRING_AT(0,32,"sende..."); MK3_V24_OUT(COM1,"Hallo",RX_END_CRLF); MK3_LCD_STRING_AT(0,40,"Rx= "); } else { if(MK3_KEY_PRESS(BUTTON1)==false) { MK3_LCD_STRING_AT(0,32," "); } } // warte auf Daten if(MK3_V24_IN(COM1,buf)) { MK3_LCD_STRING_AT(0,40,"Rx="); MK3_LCD_PRINT_STRING(buf); } } return 0; } |
Hier die Library zum download :