パソコンからマイコンボード上の LED の点滅をコントロールする. このプログラムの説明は,CQ出版社「トランジスタ技術」の2021年10月号から開始された連載記事「STM32マイコンではじめるPC計測」の中にあります.このプログラムといっしょに使うPC側のプログラムについても同誌を参照してください.
Dependencies: mbed SerialTxRxIntr
main.cpp
- Committer:
- MikamiUitOpen
- Date:
- 2021-09-09
- Revision:
- 0:7ea2d228859d
File content as of revision 0:7ea2d228859d:
//------------------------------------------------------------------------------ // Nucleo-F446 と PC 間の通信を利用するプログラムの例 // マイコンボード上の LED の点滅のコントロール:起動時は点灯状態 // パソコンへデータを送信する際の終端コードは '\n' // // 2021/07/04, Copyright (c) 2021 MIKAMI, Naoki //------------------------------------------------------------------------------ #include "SerialRxTxIntr.hpp" using namespace Mikami; int main() { DigitalOut myLed(LED1, 1); // LED に対応する出力ポート SerialRxTxIntr rxTx; // PC との通信用,ボーレート:9600 baud bool blinking = false; while (true) { // 受信バッファのデータが有効であれば,送信された指令に対応する処理を行う if (rxTx.IsEol()) { string str = rxTx.GetBuffer(); // 受信データ // "LED_CTRLer" の受信に対して "ACK" を送信 if (str == "LED_CTRLer") rxTx.TxString("ACK\n"); else // "LED CTRLer" 以外の受信に対する処理 { if (str == "ON") blinking = true; if (str == "OFF") blinking = false; rxTx.TxString(str + "\n"); // 受信した文字列をそのまま送信 } } if (blinking) { myLed = !myLed; // LED の点灯/消灯の切り替え wait(0.1); // 0.1秒のウェイト } } }