Project

General

Profile

Actions

UsingUart

NUCLEOボードでは、STM32に搭載されたU(S)ARTのうちひとつが、ST-Link部分経由でPCから仮想UARTとして見えるようになっています。
STM32側のソフトで、それを使用できるようにします。

まずSTM32CubeMX上でピン設定する

NUCLEO-F429ZIでST-Linkに接続されているのはUSART3です。
どのUSARTなのか特定するためにはマニュアルで調べるのが正しいやり方ですが、STM32CubeMXの画面上でSTLK_TX,STLK_RXのピンをマウスオーバーすればわかるので、それでもよいでしょう。

CubeMX画面上で以下の設定を行います。(とりあえずDMAでなく割り込みを使う設定です)

  • Connectivity - USART3 に関して
    • Modeを Disable→Asynchonous
    • Baud Rate を 9600bps
    • NVIC Settings の USART3 global interrupt をチェック
    • GPIO Settings の USART3_TXピン のMaximum output speedを Very High→Low
  • System Core - NVIC に関して
    • USART3 global interrupt の Preemption Priority を 0→2
    • Time base: TIM6 ~ の Preemption Priority を 0→1
  • Project Managerタブ に関して
    • Advanced Settingsを選択し、USART3を HAL→LL(Low Layer)

補足
USART3_TXはクロス接続なのでSTLK_RXに結線されています。
USARTのドライバをHALからLLに直すのは、HALドライバだといちいち割り込みを許可/禁止する不自然なプログラムになるためです。

ソースの変更点は 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) とを「リビジョンの比較」するとわかります。


累計表示回数:27

Updated by mole lord 24 days ago · 4 revisions