スペクトログラム このプログラムの説明は,CQ出版社「トランジスタ技術」の2021年10月号から開始された連載記事「STM32マイコンではじめるPC計測」の中にあります.このプログラムといっしょに使うPC側のプログラムについても同誌を参照してください.
Dependencies: Array_Matrix mbed SerialTxRxIntr DSP_ADDA UIT_FFT_Real Window
XferBase.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2021-09-09
- Revision:
- 0:3bf11d2ab6ad
File content as of revision 0:3bf11d2ab6ad:
//--------------------------------------------------------------------- // データを PC へ転送するための抽象基底クラス // // 2021/07/11, Copyright (c) 2021 MIKAMI, Naoki //--------------------------------------------------------------------- #include <string> #include "SerialRxTxIntr.hpp" using namespace Mikami; #ifndef XFER_ABSTRACT_BASE_HPP #define XFER_ABSTRACT_BASE_HPP class XferBase { public: // コンストラクタ XferBase(SerialRxTxIntr& rxTx, int size) : SIZE_(size), xn_(size), rxTx_(rxTx) {} // データを PC へ転送(0 ~ 10,000 の範囲の値を 2 文字で表すコード化を利用) void ToPC(const float data[]) { Convert(data); string str = ""; for (int n=0; n<SIZE_; n++) { str += ((xn_[n] >> 7) & 0x7F) + 0x10; str += (xn_[n] & 0x7F) + 0x10; } rxTx_.TxString(str+"\n"); } protected: const int SIZE_; // PC に送るデータの数 Array<uint16_t> xn_; // PC に送るデータ private: SerialRxTxIntr& rxTx_; // データを転送する際の形式に変換 // data 元のデータ virtual void Convert(const float data[]) = 0; // コピー・コンストラクタおよび代入演算子の禁止のため XferBase(const XferBase&); XferBase& operator=(const XferBase&); }; #endif // XFER_ABSTRACT_BASE_HPP