P.fleurys_Uartlib auf Mega2560 zum laufen bringen
Hallo liebe Forengemeinde,
wie aus der Überschrift zu erkennen ist, versuche ich gerade Peter fleurys Uartlib auf einem Mega 2560(Arduino) zum laufen zu bringen den ich mittels ISP und winAVR-GCC Beschreibe.
Ich hatte die Lib schon mit Atmegas8-16-32 in Betrieb und frage mich nun warum das einfach nicht funktioniert.
Hardwarefehler schließe ich mal aus.
Hängt das vllt mit meinem Makefile zusammen...???
dort ist ja eigentlich
# MCU name
MCU = atmega2560
definiert?
jedoch frage ich mich ob der compiler das auch mitbekommt damit in der uart.c
PHP-Code:
#elif defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega640__)
/* ATmega with two USART */
#define ATMEGA_USART0
#define ATMEGA_USART1
#define UART0_RECEIVE_INTERRUPT USART0_RX_vect
#define UART1_RECEIVE_INTERRUPT USART1_RX_vect
#define UART0_TRANSMIT_INTERRUPT USART0_UDRE_vect
#define UART1_TRANSMIT_INTERRUPT USART1_UDRE_vect
#define UART0_STATUS UCSR0A
#define UART0_CONTROL UCSR0B
#define UART0_DATA UDR0
#define UART0_UDRIE UDRIE0
#define UART1_STATUS UCSR1A
#define UART1_CONTROL UCSR1B
#define UART1_DATA UDR1
#define UART1_UDRIE UDRIE1
die Register auch richtig benamst werden?
ich verstehe das nicht ganz, kann mir jemand dabei helfen?
Liste der Anhänge anzeigen (Anzahl: 1)
Hab den Fehler mitlerweile gefunden...
falls es jemanden interessiert:
ich hab in der main:
PHP-Code:
uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) ); //F_CPU
welches
PHP-Code:
UART_BAUD_SELECT(baudRate,xtalCpu) (((xtalCpu) + 8UL * (baudRate)) / (16UL * (baudRate)) -1UL)
darstellt und warscheinlich einen falschen Wert ausspuckt
in
PHP-Code:
uart_init(MYUBRR_VAL);
umgeändert
für MYUBRR_VAL habe ich
PHP-Code:
MYUBRR_VAL 16000000/16/UART_BAUD_RATE-1
eingesetzt und schon liefs wieder...:cool:
Peters lib habe ich nicht modifiziert.
Hier mal noch meine verwendeten Fusesettings
Anhang 26787
trotzdem danke.