R8C/Tinyを使ったRS-232(comポート)の通信テストプログラムです.プログラムの書き込みと通信に別々のCOM端子を使うなら,トラ技2005年4月号付録のR8C/15搭載マイコンボード(MB-R8CS:サンハヤト)が便利です.
テストプログラムでは,aを入力するとLED on,bを入力するとLED offします.
c-zを入力すると大文字を返します.
送信の関数名をtx()とするとコンパイルエラーが生じます.
通信ソフトにはハイパーターミナルかteratermを使います.
#include "sfr_r815.h"
void Utx(char data); // 1文字送信
char Urx(void); // 1文字受信
void main(void) // メイン関数
{
char dat;
// I/Oポートの初期設定
drr1= 1;//P1_1 駆動能力High設定
pd1_1= 1;//P1_1 出力モード設定
p1_1= 1;//P1_1 Hレベル設定(LED:消灯)
//メインクロックの切替
prc0 = 1;
cm13 = 1;
cm05 = 0;
cm06 = 0;
asm("nop");
asm("nop");
asm("nop");
asm("nop");
ocd2 = 0;
prc0 = 0;
//UART0初期化
smd0_u0mr= 1; // シリアルI/Oモード選択ビット
smd2_u0mr= 1; //8ビットモード
te_u0c1= 1; //送信許可
re_u0c1= 1; //受信許可
u0brg= 0x40; //ビットレート(19200bps)
Utx('T');
Utx('E');
Utx('S');
Utx('T');
Utx(0x0a); //LF
Utx(0x0d); //CR
while(1){
dat = Urx();
if(dat=='a')p1_1=0; //P1_1 Lレベル(LED:on)
if(dat=='b')p1_1=1; //P1_1 Hレベル(LED:off)
if(dat>'b'){ //c以降は大文字を返す
dat=dat-'a'+'A';
Utx(dat);
}
}//while
}//main
void Utx(char data)
{
while(ti_u0c1 != 1); // データ転送待ち
u0tb = data; // 送信バッファにデータセット
}
char Urx(void)
{
char data; // 受信データ格納変数
char err; // エラーデータ格納変数
while (ri_u0c1 != 1) ; // 受信待ち
data = u0rbl; // 受信データの取り出し
err = u0rbh & 0xf0; // エラーデータの取り出し
return data;
}
ATMELのAT-Tiny26,ATmega,R8Cなどのワンチップマイコン,C言語,JAVAなどのプログラミング言語の入門のためのページです.サンプルプログラムを中心に紹介します.他にもLinixや数学ソフトなどの紹介も行います.
このブログを検索
内容
Visual C++ Express Editionを用いたプログラミングメモ
Windows版 Mathematicaの使い方
MATLABとOctaveを使う
Fedora,Vine,Debian,KnoppixでLinux一本勝負?
CygwinやMinGWでCプログラミングを行う
C言語のプログラミング入門
R8Cで液晶SC1602BSの表示を行う
マイコンと2進数
R8CTinyマイコンの最初の一歩(Cプログラミング)
R8C/TinyシリーズのリセットとIDコードチェック機能
R8CTinyでCOMポートの通信実験
CT-208でR8CTinyの実行(アセンブラ)
R8C/Tiny29(サンハヤトのMB-8C29)の評価
サウンドファイルwavを開く
よく使うATMELのマイコンのアセンブラの比較
ATMELのATTiny26入門
Tiny26で液晶SC1602BSの表示を行う
AD変換の結果を液晶に表示する
マイコンによる電子オルゴール
Tiny2313でパルスの分周とカウンタ
Tiny2313でシリアル通信とROMリーダ
Tiny2313でGPSデータを液晶に表示
加速度センサを使う
マイコンでI2C-EEPROMの読み書きを行う
TINY13,TINY25,2313などの8ピンマイコンを使う
PSOCマイコンスタートアップ
AF,FMラジオ
Windows版 Mathematicaの使い方
MATLABとOctaveを使う
Fedora,Vine,Debian,KnoppixでLinux一本勝負?
CygwinやMinGWでCプログラミングを行う
C言語のプログラミング入門
R8Cで液晶SC1602BSの表示を行う
マイコンと2進数
R8CTinyマイコンの最初の一歩(Cプログラミング)
R8C/TinyシリーズのリセットとIDコードチェック機能
R8CTinyでCOMポートの通信実験
CT-208でR8CTinyの実行(アセンブラ)
R8C/Tiny29(サンハヤトのMB-8C29)の評価
サウンドファイルwavを開く
よく使うATMELのマイコンのアセンブラの比較
ATMELのATTiny26入門
Tiny26で液晶SC1602BSの表示を行う
AD変換の結果を液晶に表示する
マイコンによる電子オルゴール
Tiny2313でパルスの分周とカウンタ
Tiny2313でシリアル通信とROMリーダ
Tiny2313でGPSデータを液晶に表示
加速度センサを使う
マイコンでI2C-EEPROMの読み書きを行う
TINY13,TINY25,2313などの8ピンマイコンを使う
PSOCマイコンスタートアップ
AF,FMラジオ