So nach etwas längerer Pause bin ich wieder da.
Ich habes nun auch geschafft.
Ich habe mir mit der Anleitung vom oberallgeier eine Testschaltung gebastelt und mit dem Programm von Pinsel "U" in der Endlosschleife gesendet. Damit habe ich überprüft ob die RS232 der Biene auch richtig tut.
Ich habe ebenfalls den Baustein FTDI Basic Breakout5V von Watterot besorgt RX und TX richtig angeschlossen sowie GND mit "-" verbunden.
Und siehe da ich empfange lauter "U U U ....." wunderbar.
Ich habe die Realtermeinstellungen dokumentiert und als Attachement angefügt.
Zwei Sachen hab ich gelernt:
1. RX und TX tauschbar zu haben ist eine gute Idee.
2. Die Einstellungen von Realterm sind etwas merkwürdig.
Nachdem das neue Modul funktioniert werde ich das alte erst mal beiseite legen und später mal checken ob es noch tut.
Will jetzt erst mal an de Biene weiter basteln.
Danke noch mal für die Unterstützung!
Salvador
Hier noch der komplette Code den ich verwendet habe:
Code:
#include <nibobee/iodefs.h>
#include <nibobee/led.h>
#include <nibobee/line.h>
#include <nibobee/usart.h>
#include <nibobee/sens.h>
#include <nibobee/delay.h>
void writeChar(uint8_t data );
void writeString(char *string);
void waitForStartBySensor();
void blink();
void init();
int main()
{
init();
waitForStartBySensor();
blink();
while(1) {
//usart_putchar('U');
//usart_putchar(' ');
writeString("Hallo sagt die Biene\n\r");
}
return(0);
}
void writeChar(uint8_t data )
{
while ( !( UCSRA & (1<<UDRE)) );
UDR = data;
}
void writeString(char *string)
{
while(*string)
writeChar(*string++);
}
void waitForStartBySensor() {
int8_t start = 0;
while (start == 0) {
if(sens_getLeft() != 0 || sens_getRight() != 0) {
start = 1;
}
delay(10);
}
}
/*!
* LED 0-3 blinken auf. Kann genutzt werden um Aktionen zu bestätigen.
*/
void blink() {
int16_t iBlink = 200;
for(int8_t n=0; n<=4; n++) {
led_set(LED_L_YE, n%2);
led_set(LED_L_RD, n%2);
led_set(LED_R_YE, n%2);
led_set(LED_R_RD, n%2);
delay(iBlink);
}
}
void init() {
sens_init();
led_init();
analog_init();
line_init();
enable_interrupts();
usart_enable();
usart_setbaudrate(9600);
}
Lesezeichen