UsingUart » History » Version 2
mole lord, 09/22/2020 02:06 PM
1 | 1 | mole lord | # UsingUart |
---|---|---|---|
2 | |||
3 | {{>toc}} |
||
4 | |||
5 | NUCLEOボードでは、STM32に搭載されたU(S)ARTのうちひとつが、ST-Link部分経由でPCから仮想UARTとして見えるようになっています。 |
||
6 | STM32側のソフトで、それを使用できるようにします。 |
||
7 | |||
8 | ## まずSTM32CubeMX上でピン設定する |
||
9 | |||
10 | NUCLEO-F429ZIでST-Linkに接続されているのはUSART3です。 |
||
11 | どのUSARTなのか特定するためにはマニュアルで調べるのが正しいやり方ですが、STM32CubeMXの画面上でSTLK_TX,STLK_RXのピンをマウスオーバーすればわかるので、それでもよいでしょう。 |
||
12 | |||
13 | CubeMX画面上で以下の設定を行います。 |
||
14 | |||
15 | * Connectivity - USART3 に関して |
||
16 | * Modeを Disable→Asynchonous |
||
17 | * Baud Rate を 9600bps |
||
18 | * NVIC Settings の USART3 global interrupt をチェック |
||
19 | * GPIO Settings の USART3_TXピン のMaximum output speedを Very High→Low |
||
20 | * System Core - NVIC に関して |
||
21 | * USART3 global interrupt の Preemption Priority を 0→2 |
||
22 | * Time base: TIM6 ~ の Preemption Priority を 0→1 |
||
23 | * Project Managerタブ に関して |
||
24 | * Advanced Settingsを選択し、USART3を HAL→LL(Low Layer) |
||
25 | |||
26 | 補足 |
||
27 | USART3_TXはクロス接続なのでSTLK_RXに結線されています。 |
||
28 | USARTのドライバをHALからLLに直すのは、HALドライバだといちいち割り込みを許可/禁止する不自然なプログラムになるためです。 |
||
29 | 2 | mole lord | |
30 | ソースの変更点は SHA-1: 42f35a0a65c1a88598b14784d0344eb926ac5579 から SHA-1: a6138a8276d80bd015fa06d27301f9e678e70660 までの差分を見るとわかります。 |