Forum: Mikrocontroller und Digitale Elektronik STM32F103T8 USART


von Sven W. (woehlb)


Lesenswert?

Ich versuche mit dem USART des STM32F103T8 eine Kommunikation mit dem PC 
hinzubekommen.

Im Moment komme ich aber mit der Konfiguration des USART nicht zurecht. 
So kann ich zum Beispiel die TE und RE Bits des CR1 Registers nicht 
setzen. Der Registerinhalt ist vor und nach dem folgenden Code 0.
1
typedef struct
2
{
3
  vu16 SR;
4
  u16  RESERVED0;
5
  vu16 DR;
6
  u16  RESERVED1;
7
  vu16 BRR;
8
  u16  RESERVED2;
9
  vu16 CR1;
10
  u16  RESERVED3;
11
  vu16 CR2;
12
  u16  RESERVED4;
13
  vu16 CR3;
14
  u16  RESERVED5;
15
  vu16 GTPR;
16
  u16  RESERVED6;
17
} USART_TypeDef;
18
19
USART_TypeDef* USARTx = 0x40004400;
20
21
USARTx->CR1 = 0x000C;  //TE + RE Bit

Muß man den Mikrocontroller noch in einen bestimmten Modus schalten? 
Eine MPU die den Speicherzugriff verhindert besitzt der STM32F103T8 doch 
nicht oder doch?

von Jean P. (fubu1000)


Lesenswert?

Hi,
welchen Compiler benutzt du denn ? Zudem ist dein Code sehr unleserlich, 
müsste erst das Datenblatt wieder lesen um deine Hex Zahlen zu 
identifizieren.
Du mußt auf jeden Fall CR1, CR2 und CR3 konfigurieren. Schau dir mal die 
Register im datenblatt an.
Außerdem musst du die APB Clocks vom Bus und der Usart anschalten.

Wenn du IAR benutzt kann ich die fertigen Code anbieten.

Gruß

von Sven W. (woehlb)


Lesenswert?

@ Jean Player:

Vielen Dank für Deine schnelle Antwort!

Das Problem ist aber schon beseitigt. Ich hatte den Clock für den USART 
nicht konfiguriert.

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.