PIC16F877A@12MHzでのテスト

CCSコンパイラ使用。
最初のプログラムのループ 

while(1){
//経過時間測定用パルス発生文
if(tmp == 0){
output_low(PIN_B3);
tmp = 1;
}else{
output_high(PIN_B3);
tmp = 0;
}
//スイッチ状況調査
stat = input_d();
stat <<= 2; buff = input_c(); buff &= 0x07; buff >>= 1;
stat |= buff;

data = read_adc();//アナログ値調査
sprintf(str2, "%03lu", data);
printf("stat:0x%x\r\n", stat);//シリアル出力 38,400bps
lcd_cmd(0xC0);//I2C液晶2行目の先頭に
lcd_str(str2);//I2C液晶に文字列(16文字)出力
}

のとき165Hz

1. シリアル出力(printf(“stat:0x%x\r\n”, stat);)を削除
668-9Hz

2.lcd_cmd,lcd_strを削除
180Hz

3.出力関係両方(printf,lcd_cmd,lcd_str)を削除
3.26kHz

ということで、できるだけ出力関係は出さないほうが吉。


コメントを残す

メールアドレスが公開されることはありません。

72 − 67 =