STM32マイコンで簡易オシロスコープを自作 (2) タッチパネル編
1. はじめに
「STM32マイコンで簡易オシロスコープを自作」の続編です。TFT液晶モジュール (MSP2807) のタッチパネルを利用してオシロスコープのいろいろな設定を変更できるようにしました。ソースコード(STM32CubeIDEプロジェクト)は前回のGithubリポジトリにコミットしています。 mzmlab.hatenablog.com
2. Githubリポジトリ
ronron-gh/NUCLEO_F401RE_SIMPLE_OSCILLOSCOPE
3. マイコンのピンアサイン
Nucleo Board STM32F401のピンアサインは以下の通りです。
青文字がタッチパネル用に追加した接続です。
■ Nucleo CN5 (digital)
Pin | MCU pin | Function | 用途 |
---|---|---|---|
D15 | PB8 | - | MSP2807 T_DO |
D14 | PB9 | - | MSP2807 T_IRQ |
GND | - | Ground | MSP2807 GND |
D13 | PA5 | SPI1_SCK | MSP2807 SCK |
D12 | PA6 | SPI1_MISO | MSP2807 SDO(MISO) |
D11 | PA7 | SPI1_MOSI | MSP2807 SDI(MOSI) |
D10 | PB6 | - | MSP2807 CS |
D9 | PC7 | - | MSP2807 DC/RS |
D8 | PA9 | - | MSP2807 RESET |
■ Nucleo CN6 (power)
Pin | MCU pin | Function | 用途 |
---|---|---|---|
+3V3 | - | 3.3V output | MSP2807 LED (バックライト) |
+5V | - | 5V output | MSP2807 VCC |
■ Nucleo CN8 (analog)
Pin | MCU pin | Function | 用途 |
---|---|---|---|
A0 | PA0 | ADC1_0 | 入力チャンネル |
■ Nucleo CN9
Pin | MCU pin | Function | 用途 |
---|---|---|---|
D7 | PA8 | - | MSP2807 T_CLK |
D6 | PB10 | TIM2_CH3 | テスト用信号(10kHz矩形波) |
D5 | PB4 | TIM3_CH1 | - |
D4 | PB5 | - | MSP2807 T_CS |
D3 | PB3 | TIM2_CH2 | - |
D2 | PA10 | - | MSP2807 T_DIN |
4. おわりに
GUI系のプログラムはボタン等が増えていくとどんどんコード量が膨れ上がっていくので、C言語ですがオブジェクト指向的に実装して整理しやすいように工夫しました。液晶表示やタッチパネルのプログラミングは実は初めてでしたが、Githubのプログラムは興味がある方はご自由にご利用ください。