Ok,
dann Fangen wir mal lieber klein an und lassen alles bei seite und versuchen jetzt estmal das vorhandene Programm mit 2 Servos erweitern.
Also mit Karbel und RS232 verbinund aufbauen.
Da ich ein Board schon ein RS232 ist das schon mal vorhanden.
Wie kann ich jetzt von PC aus sagen z.b. wenn ich die Peiltaste hoch drücke an Pin D0 ein high Signal anliegt?
Habe schon gelesen, dass es über HyperTerminal geht.
Und folgenden Code. Wo sage ich das Programm das mit Pfeiltaste/Pin D5?
Code:
/* UART-Init beim AT90S2313 */
#include <avr/io.h>
#include <inttypes.h>
#include <util/delay.h>
#define F_CPU 8000000 // clock
#define BAUD 9600L // Baudrate, das L am Ende ist wichtig, NICHT UL verwenden!
// Berechnungen
#define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1) // clever runden
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1))) // Reale Baudrate
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) // Fehler in Promille
#if ((BAUD_ERROR>10) || (BAUD_ERROR<-10))
#error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch!
#endif
int main(void)
{
UBRRH = UBRR_VAL >> 8;
UBRRL = UBRR_VAL & 0xFF;
UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE);
UCSRC |= (1<<URSEL)|(3<<UCSZ0);
while (!(UCSRA & (1<<UDRE))) /* warten bis Senden moeglich */
{}
return 0;
}
Lesezeichen