人気ブログランキング |

体重と今日食べたもの

k1segawa.exblog.jp

ダイエット

ブログトップ

Japanino ArduinoISPで ATtiny13 で RS-232C (22) (9/23)

ATtiny13でシリアル出力を行う。デバッグ時にPrint文を使ってPCのRS-232Cへ出力するためだが、ATtiny13にはUARTの機能も、UART→USBシリアル変換の機能もない。しかし、ピン1本とソフトUART、Japanino(arduino)のみでシリアル出力が実現できる。

ソース:
'****************************************
' Copyright (c) 2016 k1segawa
' License : free
' Program : Serial Control
'****************************************

$regfile = "attiny13.dat"
$crystal = 9600000
$hwstack = 24
$swstack = 4
$framesize = 8

Config Portb.4 = Output
Dim I As Integer
I = 0
Open "COMB.4:9600,8,N,1" For Output As #1 'soft serial PB4:Out
Do
Wait 1
Print #1 , "I=" ; I
Incr I
Loop

End
Close #1
' History
' [2016/09/23]
' PB4 Serial Output
ここではPB4をシリアル出力にし、通信速度を9600,8,N,1にする。ソフトUARTの場合、Open ”COMB.4”の部分でPortB.4を示す。As #1のチャネル番号1はPrint文の後やClose文で使用する。
コンパイルしてATtiny13へ書き込んだら、BASCOM-AVRの[メニュー][Tools][Terminal emulator]で青い画面のターミナルを表示させる。
その画面の[メニュー][Terminal][Settings]で次のように設定する。
a0034780_18505642.jpg

回路:
Japanino(arduino)は現在[ArduinoISP]のスケッチでライタになっているが、次のサイト様のように、単なるUSBシリアル変換器として使えるようにする。
Arduinoを単体USBシリアル変換器に使用する - 日曜エレクトロニクス(日エレ)

まず、学研のサイトからダウンロードした Japanino IDE 0.18を起動する。
[メニュー][ツール][マイコンボード]がGakken Japnino (学研 大人の科学 ジャパニーノ)を確認。
[メニュー][ツール][シリアルポート]がCOMx(xは各自のCOMポート番号)を確認。
[メニュー][ファイル][スケッチ例][ArduinoISP]を一応選択し開いておく(ライタに戻すため)。
[メニュー][ファイル][新規作成]でスケッチを新たに作成する。

スケッチ:
void setup()
{
pinMode(0,INPUT);
pinMode(1,INPUT);
}

void loop()
{
}
スケッチをコンパイル(▽の横向きのアイコン)・書込み(⇒|のアイコン)し、Japanino(arduino)をUSBシリアル変換器にする。
そしてATtiny13のPB4ピンとJapanino(arduino)のTXをつなぐだけ(コネクタの末尾から2番目がTX)。
するとBASCOM-AVRのターミナル画面に次のように文字が出力される。
a0034780_18515870.jpg

ATtiny13のプログラムを修正する場合は、開いておいた[ArduinoISP]スケッチを書き込み、またライタに戻す。これを繰り返す。496バイト。割込みによるバッファを使わないので、データ欠けが起こる可能性はあるが負荷が少なくサイズも小さい。
注:
ただし、ArduinoIDEとBASCOM-AVRとTerminal emulatorの間でCOMを1個で共用してしまうので、うまく書き込みできない時がある(ArduinoIDEのログ画面やBASCOM-AVRがエラー)。その時はBASCOM-AVRとArduinoIDEをともに終了させてUSBケーブルを外し、再度差し込む時はライタとATtiny13の間のVCC、GND以外のケーブルとTXにつないだケーブルを外してから[ArduinoISP]スケッチを書き込む事(ATtiny13からの信号が入ってしまわないように)。そうやってライタに戻ったら改めてそのほかのケーブルをつなぎ、BASCOM-AVRを起動し、修正したプログラムを書込む。

by k1segawa | 2016-09-23 19:01 | arduino, AVR | Comments(0)