Project

General

Profile

UsingUart » History » Version 4

mole lord, 09/25/2020 09:18 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 3 mole lord
CubeMX画面上で以下の設定を行います。(とりあえずDMAでなく割り込みを使う設定です)
14 1 mole lord
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 4 mole lord
ソースの変更点は https://ashidan.myhome.cx/gitbucket/git/molelord/stm32.git をcloneして、 SHA-1: 42f35a0(2020/09/21 22:29:45) と SHA-1: a6138a8(2020/09/23 0:25:46) とを「リビジョンの比較」するとわかります。