Hallo zusammen,
wie ich kürzlich festgestellt habe, kann ich für mein Projekt leider nur
eine Software-UART benutzen.
Ich habe versucht ein Beispiel von TI zu kompilieren, jedoch kriege ich
immer irgendeine Fehlermeldung.
Hat jemand vielleicht ein lauffähiges Beispiel?
Meine Main sieht so aus:
1 | //******************************************************************************
|
2 | // MSP430x11x1 Demo - Timer_A, UART 9600 Echo, 32kHz ACLK
|
3 | //
|
4 | // L. Westlund
|
5 | // Texas Instruments Inc.
|
6 | // August 2007
|
7 | // Built with IAR Embedded Workbench Version: 3.42A
|
8 | //*****************************************************************************
|
9 | #include "ta_uart_32khz_9600.h"
|
10 | #include <msp430xG46x.h>
|
11 |
|
12 | int callBack( unsigned char c );
|
13 |
|
14 | void main (void)
|
15 | {
|
16 | WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
|
17 |
|
18 | TI_initTimer(callBack);
|
19 |
|
20 | _BIS_SR(LPM3_bits + GIE); // Enter LPM3 w/ interr until char RXed
|
21 |
|
22 | }
|
23 |
|
24 | int callBack( unsigned char c )
|
25 | {
|
26 | TI_TA_UART_StatusFlags &= ~TI_TA_RX_RECEIVED; // allows for RX during TX (will not effect TXed byte)
|
27 | TI_TX_Byte( c );
|
28 | return TA_UART_STAY_LPM;
|
29 | }
|
Kann mir da wer weiterhelfen?
Konkret bekomme ich folgende Fehlermeldung:
1 | Error[e117]: Incompatible runtime models. Module main specifies that '__core' must be '430X', but module ta_uart has the value '64kb'
|
Ich vermute das kommt von den falschen includes in den Assembler-Dateien
(*.s43), aber die kann ich nicht editieren.
Ich bräuchte eigentlich:
#include <msp430xG46x.h>
In den AssemblerDateien steht allerdings überall:
#include <msp430x11x1.h>
Kann das daher kommen?
EDIT: Ich bin natürlich auch für alle anderen Lösungen offen. Hat jemand
denn eine alternative Software-UART zu bieten?
Alles, was ich bisher gefunden habe, konnte ich leider nicht ans laufen
kriegen... :-(