AM中波放送用SDR.CICフィルタのみを使用.CQ出版社「トランジスタ技術」誌,2021年4月号に掲載

Dependencies:   mbed

Committer:
MikamiUitOpen
Date:
Wed Dec 01 00:53:09 2021 +0000
Revision:
2:63fbcf115b88
Parent:
0:9c28f5905a1a
3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:9c28f5905a1a 1 //-------------------------------------------------------------
MikamiUitOpen 0:9c28f5905a1a 2 // 実行開始時のターミナルへメッセージの送信
MikamiUitOpen 0:9c28f5905a1a 3 //
MikamiUitOpen 0:9c28f5905a1a 4 // 2019/09/17, Copyright (c) 2019 MIKAMI, Naoki
MikamiUitOpen 0:9c28f5905a1a 5 //-------------------------------------------------------------
MikamiUitOpen 0:9c28f5905a1a 6
MikamiUitOpen 0:9c28f5905a1a 7 #include "mbed.h"
MikamiUitOpen 0:9c28f5905a1a 8 #pragma diag_suppress 870 // マルチバイト文字使用の警告抑制のため
MikamiUitOpen 0:9c28f5905a1a 9 #include <string>
MikamiUitOpen 0:9c28f5905a1a 10
MikamiUitOpen 0:9c28f5905a1a 11 enum AmFm { AM, FM }; // メッセージが AM 用か FM 用かを指定する
MikamiUitOpen 0:9c28f5905a1a 12
MikamiUitOpen 0:9c28f5905a1a 13 // str 2行目に表示するメッセージ
MikamiUitOpen 0:9c28f5905a1a 14 // af メーッセージが AM 用か FM 用かを指定
MikamiUitOpen 0:9c28f5905a1a 15 // sp メーッセージを出力するシリアルポート
MikamiUitOpen 0:9c28f5905a1a 16 void InitialMessage(string str, AmFm af, Serial &sp)
MikamiUitOpen 0:9c28f5905a1a 17 {
MikamiUitOpen 0:9c28f5905a1a 18 sp.printf("\r\n");
MikamiUitOpen 0:9c28f5905a1a 19 if (af == AM)
MikamiUitOpen 0:9c28f5905a1a 20 {
MikamiUitOpen 0:9c28f5905a1a 21 sp.printf("SDR で AM 放送を受信します.\r\n");
MikamiUitOpen 0:9c28f5905a1a 22 sp.printf((str + "\r\n").c_str());
MikamiUitOpen 0:9c28f5905a1a 23 sp.printf("0: NHK 第1\r\n1: NHK 第2\r\n2: AFN Tokyo\r\n3: TBS ラジオ\r\n"
MikamiUitOpen 0:9c28f5905a1a 24 "4: 文化放送\r\n5: ニッポン放送\r\n6: ラジオ日本\r\n\n");
MikamiUitOpen 0:9c28f5905a1a 25 sp.printf("'0' ~ '6' のキーで選局できます.\r\n");
MikamiUitOpen 0:9c28f5905a1a 26 sp.printf("'0' ~ '6', 'Enter' キー以外は何も反応しません.\r\n");
MikamiUitOpen 0:9c28f5905a1a 27 }
MikamiUitOpen 0:9c28f5905a1a 28 else
MikamiUitOpen 0:9c28f5905a1a 29 {
MikamiUitOpen 0:9c28f5905a1a 30 sp.printf("\r\nSDR で FM 復調を実行します.\r\n");
MikamiUitOpen 0:9c28f5905a1a 31 sp.printf((str + "\r\n").c_str());
MikamiUitOpen 0:9c28f5905a1a 32 sp.printf("0 か 1 を入力してください.\r\n");
MikamiUitOpen 0:9c28f5905a1a 33 sp.printf("'0', '1', 'Enter' キー以外は何も反応しません.\r\n");
MikamiUitOpen 0:9c28f5905a1a 34 }
MikamiUitOpen 0:9c28f5905a1a 35
MikamiUitOpen 0:9c28f5905a1a 36 sp.printf("'Enter' キーは CR/LF するだけです.\r\n\n");
MikamiUitOpen 0:9c28f5905a1a 37 sp.putc('0');
MikamiUitOpen 0:9c28f5905a1a 38 }