AVRマイコンがモールスを打ち始めた(デバック文)
LCDやデバッカーが付いてない無い状のマイコンで変数の値を知りたくなることがある。
そんなとき、値をCWに変換してはと思いつき簡単なソースを書いてみた。
| サンプルソース |
今回は、LEDと音(PWM)で実装したが、電子ブザーでも良い。ソースも簡単なので、ライブラリ化せずソースをそのまま公開。
このソースはjh4vaj/1さんの「AFSS01 – AVR最初の一歩セット」用に作成されています。
http://www.jh4vaj.com/afss01_01
※自由に改造・流用していただいて結構。(無保証)
| 概要説明 |
【宣言】
#define F_CPU 1000000UL // 1MHz #include <avr/io.h> // 関数 |
【関数一覧】
| 関数名 | 仕様 | 使用例 |
| void cw(unsigned int dat ) | datの値を10進に変換して、CW出力 |
unsigned int dat; |
| void cwh(unsigned int dat ) | datの値をHEX変換して、CW出力 データの前に”0x”が自動で付加される。 先頭の0埋めなし。 例、”0xa” ”0xff” ”0x1cd” 文字と文字の間は、短点3個分空ける。 出力が終わると短点7個分の時間を空ける。 |
unsigned int dat; |
| void cwa(char *ch ); | chに文字列の先頭ポインタを渡すとCW出力文字は半角英数小文字と.,:?/@-およびスペースであること。 |
cwa("hello cw."); |
| void ccw(char c ); | cにキャラクタ文字をセットするとCW出力 |
ccw('h');ccw('h'); //HH ccw('a');ccw('r'); //AR |
| void dot(); | 短点1個分のONと短点1個分OFFを行う。 ※環境を変える場合は、PORTBとTCCR0Aを自分の環境に合わせて修正してください。 |
dot(); ・ |
| void dash(); | 短点3個分のONと短点1個分OFFを行う。 ※環境を変える場合は、PORTBとTCCR0Aを自分の環境に合わせて修正してください。 |
dash(); |
« ピカロード「ホタル君」の製作方法 | トップページ | Arduinoもモールスを打ち始めた(デバック文) »
「アマチュア無線」カテゴリの記事
- FTX-1シリーズ 海外向けマニュアルから読み解く国内向け仕様(2025.05.09)
- 頒布:動物キャラクターパドル(2025.03.18)
- 頒布:パドル極性切替器(2025.03.18)
- XIAO ESP32C3の充電回路を改めて検証(2024.12.29)
- 頒布:SAT-05(430MHz帯5エレ YAGI)(2024.10.15)
「AKC」カテゴリの記事
- 頒布:CIR-45用腕時計型ベルト(終了しました)(2025.07.19)
- ちばハムの集い 2025に参加します(終了しました)(2025.02.03)
- 頒布:中古品、ジャンク品(2024.12.06)
- ハムフェア2024に出展します(2024.08.01)



コメント