UART-USB Gateway auf dem AVR Xplained A1

Gast #2598078
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
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
}
Gast #2599787
Okay, danke nochmal, jetzt läuft alles... Hatte noch nen kleinen Fehler 
in meinem Code..
Und vielen lieben Dank für das stoßen auf die ASF. War mir bisher nicht 
geläufig!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.