Forum: Mikrocontroller und Digitale Elektronik TI's Software-UART zum Laufen kriegen


von Roland N. (eroli)


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... :-(

von egalo (Gast)


Lesenswert?

Roland M. schrieb:
> Ich habe versucht ein Beispiel von TI zu kompilieren, jedoch kriege ich
> immer irgendeine Fehlermeldung.

Womit? Wofür?
Und: Suchen (es gibt bereits einige Threads zum Thema).

von Roland N. (eroli)


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?

von egalo (Gast)


Lesenswert?

> Hat das deine 2 Fragen beantwortet?
Nein.

von Roland N. (eroli)


Lesenswert?

egalo schrieb:
>> Hat das deine 2 Fragen beantwortet?
> Nein.

Ich sagte doch:

Womit: IAR
Wofür: Software-UART zur Kommunikation mit dem PC

Oder bin ich nun völlig Banane?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.