UART-USB Gateway auf dem AVR Xplained A1

Gast #2598078
Lesenswert?

Hallo zusammen,

hat jemand evtl. ein funktionierendes Codebeispiel für mich, wie ich 
zwischen PC und Xplained-Board via der eingebauten USART-USB Bridge 
kommunizieren kann.
Bitte keine extra Mühe geben, zur Not finde ichs alleine raus, also nur 
wenns jemand einfach so rumliegen hat.
Möchte gerade eine Verbindung zwischen RFM12-Boards testen, und hätte 
gerne eine bequeme Lösung die einfach geht, um nicht hier wieder 
ursachen für fehler zu haben.

Besten Dank.
(Firma: matzetronics) #2598118
Lesenswert?

Die benötigte Baudrate ist 57600. Dieses Beispiel benutzt ASF und AVR 
Studio 5:
1
#include "usart.h"
2
#define USART USARTC0
3
#define USART_SERIAL_EXAMPLE             &USARTC0
4
#define USART_SERIAL_EXAMPLE_BAUDRATE    57600
5
#define USART_SERIAL_CHAR_LENGTH         USART_CHSIZE_8BIT_gc
6
#define USART_SERIAL_PARITY              USART_PMODE_DISABLED_gc
7
#define USART_SERIAL_STOP_BIT            false
8
// USART options.
9

10
static usart_rs232_options_t USART_SERIAL_OPTIONS = {
11
  .baudrate = USART_SERIAL_EXAMPLE_BAUDRATE,
12
  .charlength = USART_SERIAL_CHAR_LENGTH,
13
  .paritytype = USART_SERIAL_PARITY,
14
  .stopbits = USART_SERIAL_STOP_BIT
15
  };
16

17
// serial output
18
static void uart_put(char c) {
19
    while( (USART.STATUS & USART_DREIF_bm) == 0 ) {}
20
    // Now transmit the character
21
    USART.DATA = c;      
22
}
23
//serial output
24
char conin(void) {
25
 while((USART.STATUS & USART_RXCIF_bm) == 0 ){};
26
 return USART.DATA;  
27
}
28
int main (void)
29
{
30
   sysclk_enable_peripheral_clock(&USARTC0);  
31
   sysclk_enable_module(SYSCLK_PORT_C, PR_USART0_bm);
32
// ASF takes care of configuing the port pins
33
   usart_init_rs232(USART_SERIAL_EXAMPLE, &USART_SERIAL_OPTIONS);
34
// more in main.......
35
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren