ファンクション・ジェネレータ このプログラムの説明は,CQ出版社「トランジスタ技術」の2021年10月号から開始された連載記事「STM32マイコンではじめるPC計測」の中にあります.このプログラムといっしょに使うPC側のプログラムについても同誌を参照してください.
Dependencies: Array_Matrix mbed SerialTxRxIntr MyTicker7
MSeq16.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2021-10-06
- Revision:
- 1:0430f1ed6c2c
- Parent:
- 0:53c0fa8a9aa2
File content as of revision 1:0430f1ed6c2c:
//--------------------------------------------------------- // M 系列信号発生器(N = 16) // // 2021/09/28, Copyright (c) 2021 MIKAMI, Naoki //--------------------------------------------------------- #include "mbed.h" #ifndef MSEQ16_HPP #define MSEQ16_HPP namespace Mikami { class MSeq16 { public: MSeq16() : reg_(1) {} // 戻り値: 0 => -0.5, 1 => 0.5 float Execute() { msb_ = reg_ >> 15; reg_ = ((reg_ ^ XOR_[msb_]) << 1) | msb_; return RET_[msb_]; } private: static const uint16_t XOR_[2]; // XOR の一方の入力 static const float RET_[2]; // 戻り値として使用 uint16_t reg_; // 16 段の D フリップ・フロップに対応 uint16_t msb_; // 16 段目に相当するビット }; const uint16_t MSeq16::XOR_[2] = { 0, 0x16 }; const float MSeq16::RET_[2] = { -0.5f, 0.5f }; } #endif // MSEQ16_HPP