2011年9月4日日曜日

手っ取り早くPICでデバッグするためのUSART

/* *** */

void send(unsigned char data) {
TXP = 0;
__delay_us(100);
TXP = ((data >> 0) & 1);
__delay_us(100);
TXP = ((data >> 1) & 1);
__delay_us(100);
TXP = ((data >> 2) & 1);
__delay_us(100);
TXP = ((data >> 3) & 1);
__delay_us(100);
TXP = ((data >> 4) & 1);
__delay_us(100);
TXP = ((data >> 5) & 1);
__delay_us(100);
TXP = ((data >> 6) & 1);
__delay_us(100);
TXP = ((data >> 7) & 1);
__delay_us(100);
TXP = 1;
}

/* *** */

出力するポートを予め
#define TXP RA4
みたいに定義しておく必要があります
あと__delay_usを使うためにhtc.hもインクルードする必要があります
それと↓みたいにコンパイラに動作クロックを指定する必要があります
#define _XTAL_FREQ 20000000 // 動作クロック20MHz

ということで内部クロックを使って動作周波数が可変とかだと無理です
そういう時はdelay関数自分で作ってください


とりあえずこれだけで9600bpsで一文字送信はできます

0 件のコメント:

コメントを投稿