最近になって、3048Fから3052Fに乗り換えたものです。
3048Fで動作していたシリアル通信のプログラムが、3052Fにしたら動作しなくなっ
てしまいました。プログラムには互換性があると聞いていたので、ヘッダファイ
ルだけ変更しのですが、だめでした。他に何か変更しなければならないものがあ
るのでしょうか?プログラムは以下のようになっています。
#include<stdio.h>
#include<3052.h>
#include <string.h>
#include <stdarg.h>
char txb[20], rxb[20]; // 送受信用バッファ
// 関数簡略化マクロ
#define rs_rx_buff SCI1_IN_DATA_CHECK
#define rs_tx_buff SCI1_OUT_DATA_CHECK
#define rs_rx_purge SCI1_IN_DATA_CLEAR
#define rs_tx_purge SCI1_OUT_DATA_CLEAR
#define rs_putc SCI1_OUT_DATA
#define rs_puts SCI1_OUT_STRING
#define rs_putsb SCI1_OUT_STRINGB
#define rs_getc SCI1_IN_DATA
#define rs_gets SCI1_IN_STRING
main()
{
// 通信ポートを初期化 ボーレートは9600[bps]
SCI1_INIT (br9600, txb, sizeof(txb), rxb, sizeof(rxb));
EI; //全割り込み許可マクロ
P1.DDR = 0xFF; //全部出力・LED用
P1.DR.BYTE = 0xF1;
rs_puts ("\n<シリアルテストプログラム>\n");
P1.DR.BYTE = 0xF3;
rs_puts ("\n送信\n");
P1.DR.BYTE = 0xF4;
while(1){}
}
送信のみのプログラムです。上記のプログラムを、ヘッダファイルだけ3048F.h
に変えると3048Fでは動作しました。どう直せばよいのか教えていただけたら幸
いです。