TI's Software-UART zum Laufen kriegen

OP #2242360
Lesenswert?

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... :-(
OP #2242500
Lesenswert?

Hi,

ich denke ich brauche diese Software-UART, da die normale Hardware-UART 
ja an den Pins URXD1 / UTXD1 läuft und meine D-Sub-Buchse auf dem 
ExperimentersBoard nunmal leider mit UCA0RXD / UCA0TXD verbunden ist.

Kannst du mir vielleicht den Unterschied zwischen diesen Pins erklären? 
Kann ich an denen auch eine Hardware-UART laufen lassen?

Falls nicht, dann ist die Software-UART wohl kaum vermeidbar.

Der Code wird übrigens mit IAR kompiliert.

Hat das deine 2 Fragen beantwortet?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren