Hallo zusammen,
ich spiele gerade ein wenig mit dem stm32f107 rum und habe in komisches
Verhalten des USART: bei einem Reset sendet der Controller scheinbar ein
'0xFF', jedenfalls wird eins von meinem Terminal-Programm auf dem PC
empfangen.
Ich bin mein Hauptprogramm im Debug-Modus Schritt für Schritt
durchgegangen und habe festgestellt, dass das Zeichen während der
Initialisierung des USART gesendet wird. So sieht meine Initialisierung
aus - also alles so in der Reihenfolge wie es vom Reference-Manual von
st vorgeschrieben wird.
1 | void USARTInit(void) {
|
2 | RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);
|
3 | RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
|
4 |
|
5 | GPIO_InitTypeDef GPIO_InitStructure;
|
6 |
|
7 | /* Initialize USART2 Tx Pin */
|
8 | GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
|
9 | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
|
10 | GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
11 | GPIO_Init(GPIOD, &GPIO_InitStructure);
|
12 |
|
13 | /* Initialize USART2 Rx Pin */
|
14 | GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
|
15 | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
|
16 | GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
17 | GPIO_Init(GPIOD, &GPIO_InitStructure);
|
18 |
|
19 | GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);
|
20 |
|
21 |
|
22 |
|
23 | USART_InitTypeDef USART_InitStructure;
|
24 | USART_InitStructure.USART_BaudRate = 9600;
|
25 | USART_InitStructure.USART_WordLength = USART_WordLength_8b;
|
26 | USART_InitStructure.USART_StopBits = USART_StopBits_1;
|
27 | USART_InitStructure.USART_Parity = USART_Parity_No;
|
28 | USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
29 | USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
|
30 | USART_Init(USART2, &USART_InitStructure);
|
31 |
|
32 | USART_Cmd(USART2, ENABLE);
|
33 | }
|
Komischerweise wenn ich beim Debuggen mit "Step Into" in die USARTInit()
reingehe und dort alles Schritt für Schritt durchgehe bekomme ich kein
'0xFF' auf der Ausgabe...
Wie kann ich das 0xFF unterdrücken? Kann jemand helfen?
Vielen Dank und viele Grüße!