A+-2C : ええ加減にC
マスコット   A+-2C と書いて
  ええ加減にC と読みます。

  処理番号を使用した、
 組み込みCプログラミングを紹介しています。


  STMicroelectronics社製のCPU、
 STM32F405VG, STM32F446RE, STM32L476RG, STM32G431KB の
 サンプルプログラムを紹介しています。

  サンプルプログラムは、freeの開発ツール STM32CubeIDE を使用して作成しました。

  STM32F405VG のサンプルプログラムの動作には、
 えがおのでんし製の評価用基板 Base-F405VG を使用しています。
  Base-F405VG には、STM32F405VG のCPU基板 tri-S (えがおのでんし製)が
 搭載されています。

  STM32F446RE, STM32L476RG, STM32G431KB には、それぞれ
 STMicroelectronics社製の評価用基板
 NUCLEO-F446RE, NUCLEO-L476RG, NUCLEO-G431KB を使用しています。


処理番号を使用したプログラムの説明
  処理番号を使用した、C言語による組み込みプログラムの
 作成方法について説明しています。



目次

1. 既存のプロジェクトを開く方法
  サンプルプログラムのプロジェクトの圧縮ファイルを解凍した後、
 STM32CubeIDEで、そのプロジェクトを開く方法について説明しています。

2. STM32CubeIDEの日本語設定
  プログラムソース内の日本語のコメントが文字化けしないための
 設定方法について説明しています。



  組み込みCのサンプルプログラム



STM32F4xxxx のサンプルプログラム
  STMicroelectronics社製のマイクロコントローラ、
 STM32F405RG, STM32F405VG, STM32F446RE のサンプルプログラムです。

  それぞれのマイクロコントローラに対するサンプルプログラムには
 共通の処理モジュールを使用しています。




ST-LINKのFirmwareのUpgrade
  ST-LINKのFirmwareのUpgradeについて説明しています。



ST-LINKによるデバッグのための接続
  ST-LINKによるデバッグのための接続について説明しています。



  ここから下は、古いサンプルプログラムです。



STM32F405VG のサンプルプログラム
  STMicroelectronics社製のマイクロコントローラ STM32F405VG の
 サンプルプログラムです。

  えがおのでんし製の評価用基板 Base-F405VG を使用しています。
  Base-F405VG には、STM32F405VG のCPU基板 tri-S (えがおのでんし製)が
 搭載されています。



NUCLEO-F446RE のサンプルプログラム
  STMicroelectronics社製のマイクロコントローラ STM32F446RE の
 評価用基板 NUCLEO-F446RE のサンプルプログラムです。



NUCLEO-L476RG のサンプルプログラム
  STMicroelectronics社製のマイクロコントローラ STM32L476RG の
 評価用基板 NUCLEO-L476RG のサンプルプログラムです。

  タッチパネル付きグラフィックLCD MSP2807 のサンプルプログラムを掲載しています。



NUCLEO-G431KB のサンプルプログラム
  STMicroelectronics社製のマイクロコントローラ STM32G431KB の
 評価用基板 NUCLEO-G431KB のサンプルプログラムです。


シリアル送受信試験器 SCTester の販売
SCTester_I2C_ADT7410_S0_G_ON
  シリアル通信の送受信試験を行う装置です。

  I2C送受信 と UART送受信 の装置があります。

  以下の3種類です。
  1) I2C送受信試験器 SCTester I2C
  2) UART送受信試験器 SCTester UART
  3) UART送受信モニタ SCMonitor UART

  左の写真は、I2C対応 温度センサモジュール
 ADT7410 を接続して送受信を行っている様子です。


シリアル送受信試験器 SCTester をご覧ください。


UART(非同期シリアル通信)について
 以下のページでUARTについて簡単に説明しています。
 UART(非同期シリアル通信) の説明 をご覧ください。



  組み込みCのサンプルプログラムを以下に紹介します。



STM32F405VG のサンプルプログラム
  STMicroelectronics社製のマイクロコントローラ STM32F405VG の
 サンプルプログラムを以下に紹介します。

  えがおのでんし製の評価用基板 Base-F405VG を使用しています。
  Base-F405VG には、STM32F405VG のCPU基板 tri-S (えがおのでんし製)が
 搭載されています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F405VG_LED_USW
  LED点滅とスイッチ入力の処理を並列に動作させるサンプルプログラムです。

  tri-S基板上の User Switch を押すごとに、LED1 の点滅間隔が変化します。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F405VG_MSP2807_ASCII
  タッチパネル付きグラフィックLCD MSP2807 の ASCII文字表示 のサンプルプログラムです。

MSP2807_Startup_Screen_ASCII

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F405VG_MSP2807_UTF16_A
  タッチパネル付きグラフィックLCD MSP2807 の Unicode文字(日本語)表示 のサンプルプログラムです。

  Unicode文字表示モジュールの引数に
 (uint8_t *)"ようこそ!" のように
 直接、日本語を指定して、日本語表示を行うことができます。

MSP2807_Startup_Screen_UTF16

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F405VG_MSP2807_TP_ASCII_10K
  タッチパネル付きグラフィックLCD MSP2807 の タッチパネル制御 のサンプルプログラムです。

  タッチパネルの位置調整(基準位置の設定) と
 タッチパネルのデータ入力を行うことができます。

Adjust_TP_First TP_Screen_Input

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F405VG_DFU_10K
  USBを介して、バイナリファイル .bin をCPUのFlashメモリに書き込むサンプルプログラムです。
  STMicroelectronics社が提供しているアプリケーション STM32CubeProgrammer を使用して書き込みます。
  書き込んだプログラムは、0x08010000 番地から実行されます。

  DFU : Download Firmware Update

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F405VG_CDC
  USBのCDC通信(VCP : 仮想COMポート)のサンプルプログラムです。

  CDC : Communication Device Class

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F405VG_SD_SDIO
  マイクロSDのSDIOアクセスのサンプルプログラムです。

tri-S_CPU_F

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F405VG_DAC
  STM32F405VG内蔵のDACを使用して正弦波を出力するサンプルプログラムです。

F405VG_DAC_Wave_Screen

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F405VG_ADC_DAC
  STM32F405VG内蔵のADCとDACを使用して、
 A/D変換して入力したデータを
 そのまま、D/A変換出力するサンプルプログラムです。

F405VG_ADC_DAC_Wave_Screen

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F405VG_ADC_DAC_MA(移動平均してD/A出力)
  STM32F405VG内蔵のADCとDACを使用して、
 A/D変換して入力したデータを
 移動平均して、D/A変換出力するサンプルプログラムです。

F405VG_ADC_DAC_MA_Wave_Screen

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー


NUCLEO-F446RE のサンプルプログラム
  STMicroelectronics社製のマイクロコントローラ STM32F446RE の
 評価用基板 NUCLEO-F446RE のサンプルプログラムを以下に紹介します。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム N446RE_Blk_LED
  まずは、基本的なLED点滅のサンプルプログラムです。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム N446RE_LED_USW
  LED点滅とスイッチ入力の処理を並列に動作させるサンプルプログラムです。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム NF446RE_UART1
  STM32F446REのUSART1を使用した、UART通信のサンプルプログラムです。

  UART : Universal Asynchronous Receiver/Transmitter (非同期シリアル通信)



UART(非同期シリアル通信)について
 以下のページでUARTについて簡単に説明しています。
 UART(非同期シリアル通信) の説明 をご覧ください。


サンプルプログラム N446RE_UART2
  STM32F446REのUSART2を使用した、UART通信のサンプルプログラムです。

  UART : Universal Asynchronous Receiver/Transmitter (非同期シリアル通信)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム NF446RE_UART4
  STM32F446REのUART4を使用した、UART通信のサンプルプログラムです。

  UART : Universal Asynchronous Receiver/Transmitter (非同期シリアル通信)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム N446RE_CDC
  USBのCDC通信(VCP : 仮想COMポート)のサンプルプログラムです。

  CDC : Communication Device Class

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F446RE_MSP2807_ASCII_A
  タッチパネル付きグラフィックLCD MSP2807 の ASCII文字表示 のサンプルプログラムです。

MSP2807_Startup_Screen_ASCII

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F446RE_MSP2807_JIS_X_0208_A
  タッチパネル付きグラフィックLCD MSP2807 の JIS X 0208日本語文字表示 のサンプルプログラムです。

MSP2807_Startup_Screen_JIS_X_0208

  サンプルプログラム F446RE_MSP2807_JIS_X_0208_A では、
 JIS X 0208の日本語文字のフォント配列を使用しています。
  フォントはプログラムに埋め込まれます。

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F446RE_MSP2807_JIS_X_0208_B
  タッチパネル付きグラフィックLCD MSP2807 の JIS X 0208日本語文字表示 のサンプルプログラムです。

MSP2807_Startup_Screen_JIS_X_0208

  サンプルプログラム F446RE_MSP2807_JIS_X_0208_B では
 バイナリFontファイル Font_16x16_JIS_X_0208_B.bin を使用します。

  バイナリFontファイル Font_16x16_JIS_X_0208_B.bin は
 Flash Memory の以下の番地に配置します。
sector 6 : 0x08040000 - 0x0805FFFF : 128Kbytes : JIS X 0208バイナリFont
sector 7 : 0x08060000 - 0x0807FFFF : 128Kbytes : JIS X 0208バイナリFont

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F446RE_MSP2807_TP_ASCII_10K
  タッチパネル付きグラフィックLCD MSP2807 の タッチパネル制御 のサンプルプログラムです。

  タッチパネルの位置調整(基準位置の設定) と
 タッチパネルのデータ入力を行うことができます。

Adjust_TP_First TP_Screen_Input

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム N446RE_AQM1602_I2C1
  I2Cインターフェース接続のLCD AQM1602 に
 文字を表示するサンプルプログラムです。

  AQM1602 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム N446RE_PWM_RGB
  RGB 3色LED の点灯制御をPWMにより行うサンプルプログラムです。
  RGB をそれぞれ独立に制御することができます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム N446RE_WiFi_TCP_Server
  Wi-Fiモジュール ESP-WROOM-02 を使用して、ST(Station)モードで
 TCP Serverとして動作するサンプルプログラムです。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム N446RE_WiFi_HTTP
  Wi-Fiモジュール ESP-WROOM-02 を使用して、ST(Station)モードで
 HTTP Serverとして動作するサンプルプログラムです。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F446RE_DFU_10K
  USBを介して、バイナリファイル .bin をCPUのFlashメモリに書き込むサンプルプログラムです。
  STMicroelectronics社が提供しているアプリケーション STM32CubeProgrammer を使用して書き込みます。
  書き込んだプログラムは、0x08010000 番地から実行されます。

  DFU : Download Firmware Update

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム NF446RE_RTC
  STM32F446RE内蔵のRTCの時刻設定と時刻取得を行うサンプルプログラムです。


サンプルプログラム F446RE_SD_SDIO
  マイクロSDのSDIOアクセスのサンプルプログラムです。

IF_N446RE_SD_SDIO_F

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F446RE_SD_SPI
  マイクロSDのSPIアクセスのサンプルプログラムです。

IF_N446RE_SD_SPI_F

  タッチパネル付きグラフィックLCD MSP2807 に搭載の SD でも動作します。

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F446RE_eMMC_4bit
  eMMCのSDIOアクセスのサンプルプログラムです。

  4bits (SDIO_D0 - SDIO_D3) のBUS幅でアクセスします。

IF_Nuc_eMMC_F

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム F446RE_eMMC_8bit
  eMMCのSDIOアクセスのサンプルプログラムです。

  8bits (SDIO_D0 - SDIO_D7) のBUS幅でアクセスします。

IF_Nuc_eMMC_F

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

NUCLEO-L476RG のサンプルプログラム
  STMicroelectronics社製のマイクロコントローラ STM32L476RG の
 評価用基板 NUCLEO-L476RG のサンプルプログラムを以下に紹介します。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

サンプルプログラム L476RG_MSP2807_ASCII_A の説明
  タッチパネル付きグラフィックLCD MSP2807 の ASCII文字表示 のサンプルプログラムです。

MSP2807_Startup_Screen_ASCII
  ASCII文字表示のプログラムを紹介します。

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム L476RG_MSP2807_UTF16_A
  タッチパネル付きグラフィックLCD MSP2807 の Unicode文字(日本語)表示 のサンプルプログラムです。

  Unicode文字表示モジュールの引数に
 (uint8_t *)"ようこそ!" のように
 直接、日本語を指定して、日本語表示を行うことができます。

MSP2807_Startup_Screen_UTF16

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム L476RG_MSP2807_TP_ASCII
  タッチパネル付きグラフィックLCD MSP2807 の タッチパネル制御 のサンプルプログラムです。

  タッチパネルの位置調整(基準位置の設定) と
 タッチパネルのデータ入力を行うことができます。

Adjust_TP_First TP_Screen_Input

  MSP2807 は、秋月電子通商で販売しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー



NUCLEO-G431KB のサンプルプログラム
  STMicroelectronics社製のマイクロコントローラ STM32G431KB の
 評価用基板 NUCLEO-G431KB のサンプルプログラムを以下に紹介します。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム G431KB_LED_USW
  LED点滅とスイッチ入力の処理を並列に動作させるサンプルプログラムです。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム G431KB_CDC
  USBのCDC通信(VCP : 仮想COMポート)のサンプルプログラムです。

  CDC : Communication Device Class

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルプログラム G431KB_UART2
  STM32G431KB の USART2 を使用した、UART通信のサンプルプログラムです。

  UART : Universal Asynchronous Receiver/Transmitter (非同期シリアル通信)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

シリアル送受信試験器 SCTester の販売
SCTester_I2C_ADT7410_S0_G_ON
  シリアル通信の送受信試験を行う装置です。

  I2C送受信 と UART送受信 の装置があります。

  以下の3種類です。
  1) I2C送受信試験器 SCTester I2C
  2) UART送受信試験器 SCTester UART
  3) UART送受信モニタ SCMonitor UART

  左の写真は、I2C対応 温度センサモジュール
 ADT7410 を接続して送受信を行っている様子です。


シリアル送受信試験器 SCTester をご覧ください。


 メールアドレス: apm2c.sumi@gmail.com

 なんでも、気軽に ご相談ください。
 担当:おの

マスコット
  えがおのでんし 案内