Projekte
mlade
zusammen_v4_1
uart.c
Projekte
Forum
Doku
Öffentliche Projekte
Startseite
Beispielprogramme
Projekte von anderen
Welcome
Username
Passwort
Eingeloggt bleiben
Zugangsdaten vergessen?
Registrieren
Projektverwaltung
⇨ Please choose! ⇦
——————————————————
✎ Create new project...
★ Browse existing projects...
——————————————————
⚬ MotorTest#1
⚬ C Tutorial 8#1
⚬ NIBO2 C Project#1
⚙ C Tutorial 15#1
⚬ 2010_11_18_el_test001#1
zusammen_v4_1
compass.c
compass.h
fahren.c
fahren.h
globals.c
globals.h
gyro.c
gyro.h
interpret...befehle.c
interpret...befehle.h
main.c
TWIlib.c
TWIlib.h
uart.c
uart.h
ultraschall.c
ultraschall.h
werkzeuge.c
werkzeuge.h
Project details
Compiler settings
Nachrichten
Sie sind nicht eingeloggt.
Neuigkeiten
★
NiboRoboLib 3.6
2017-01-17: Neue Version 3.6
★
NiboRoboLib 3.4.1
2016-04-16: Neue Version 3.4.1
★
Coding Tutorial
2015-11-22: Jetzt auch für den NIBO burger!
Site-Statistic
7433 private projects
378 public projects
16180353 lines compiled
58212 builds
NIBO
@
zusammen_v4_1/uart.c [read only]
#include <nibobee/robo.h> #include "uart.h" // in diesem Bereich können globale Variablen definiert werden // ... #define BAUD 9600UL #define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1) char eingabe[BUFFERLEN]; uint8_t eingabe_fertig; char str[10]; uint8_t laenge=0; int uart_putc(char c) { while (!(UCSRA & (1<<UDRE))) // warten bis Senden moeglich { } UDR = c; // sende Zeichen return 0; } void uart_puts (char *s) { while (*s) { /* so lange *s != '\0' also ungleich dem "String-Endezeichen(Terminator)" */ uart_putc(*s); s++; } } void uart_init() { // uart_puts("uart_init()\n"); // Hier kommt der Programmcode zum einmaligen Setup des Roboters hin! // ... UBRRH = UBRR_VAL >> 8; UBRRL = UBRR_VAL & 0xFF; UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); // Asynchron 8N1 UCSRB |= (1<<RXEN)|(1<<TXEN)|(1<<RXCIE); // UART RX, TX und RX Interrupt einschalten sei(); str[0]='\0'; eingabe[0]='\0'; } ISR(USART_RXC_vect) { char nextChar; if (eingabe_fertig==0){ nextChar=UDR; if (nextChar != '\n' && nextChar != '\r' && laenge<BUFFERLEN) { eingabe[laenge]=nextChar; laenge++; uart_putc(nextChar); } else { eingabe[laenge]='\0'; laenge=0; eingabe_fertig=1; uart_putc('\n'); // uart_puts("Eingabe fertig: "); itoa(eingabe_fertig,str,10); uart_puts(str);uart_putc('\n'); } } }
Compiler results:
Werbung
Online
gilbertosladen335
hunter94
jnplatesha8912130544
Victorkdf
warrenhinder6456