![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
STM32F446内蔵のADC, DAC を 2 チャンネルで使うためのライブラリの使用例. Example program of library for build-in ADC and DAC in STM32F446 using with dual channels.
Dependencies: mbed SerialTxRxIntr DSP_ADDA_Dual
Diff: main.cpp
- Revision:
- 3:711a072f2898
- Parent:
- 2:1bbea6a4a5b2
diff -r 1bbea6a4a5b2 -r 711a072f2898 main.cpp --- a/main.cpp Sat Nov 07 02:13:43 2020 +0000 +++ b/main.cpp Tue Jun 29 01:05:06 2021 +0000 @@ -4,7 +4,9 @@ // 処理の内容:AD 変換器からの入力をそのまま DA 変換器に出力する // ポーリング方式と割り込み方式の2つの例を示す // -// 2020/11/07, Copyright (c) 2020 MIKAMI, Naoki +// 割り込み方式では標本化周波数を PC のターミナル・ソフトで変更できる +// +// 2021/06/29, Copyright (c) 2021 MIKAMI, Naoki //---------------------------------------------------------------------- #include "DSP_DacDual.hpp" @@ -12,8 +14,8 @@ #pragma diag_suppress 870 // マルチバイト文字使用の警告抑制のため using namespace Mikami; -// 割り込みの例を有効にする場合,次の #define 文を有効にすること -//#define ADC_EXAMPLE_OF_INTERRUPT +// ポーリングの例を有効にする場合,次の #define 文を無効にすること +#define ADC_EXAMPLE_OF_INTERRUPT //---------------------------------------------------------------- // ポーリングを使う例 @@ -57,10 +59,14 @@ { printf("\r\n割り込み方式\r\n"); printf("起動時の標本化周波数: 10 kHz, 標本化周波数を変更できます\r\n"); - SerialRxTxIntr rxTx; // Serial クラスの受送信割込み用オブジェクト + SerialRxTxIntr rxTx; // Serial クラスの受送信割込み用オブジェクト rxTx.EchobackEnable(); myAdc_.SetIntrVec(&AdcIsr); + myAdc_.DisableIntr(); // 一旦,AD 変換k終了割り込みを禁止する + printf("Enter キーを押すと開始します\r\n"); + while (!rxTx.IsEol()) {} + myAdc_.EnableIntr(); // AD 変換k終了割り込みを許可する rxTx.TxString("標本化周波数 [kHz] ? "); while (true)