Ok,
dann Fangen wir mal lieber klein an und lassen alles bei Seite und versuchen jetzt erstmal das vorhandene Programm mit 2 Servos zu erweitern.
Also mit den Karbel und den RS232 IC eine verbinung über Hyperterminal aufbauen.
Da in meinen Board schon ein RS232 vorhanden ist, fehlt nur das Programm.
Wie kann ich jetzt von PC aus sagen z.b. wenn ich die Peiltaste "hoch" drücke an µC 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;
}