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ラジオ
