07-V24-Library (ATMega)

-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 :

UB_MK3_2560_V24_v106


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert