PIC12F675に実装したBit Banging UARTでFT232RLと通信してPC上のターミナル・ソフトにAD変換の測定値を表示する。
とりあえずは半固定抵抗を取り付けて、その変化をAD変換して、文字データに直して送信ということにしてみた。
PIC12F675_UART_BitBang_ADC_02_Main.c (216 ダウンロード )
バイト単位で送信するという前提で、PIC側としては変換したデータをそのままADRESH, ADRESLの順にたれ流すのが一番負荷が低いわけだが、それを受け取った先でどう処理するかを全く考えてなかった。
例えば、
どれがADCRESHでどれがADCRESLなのか、どうやって区別するんだろう?
とかがちょっと考えただけでは分からない。
なので、結局PIC側で処理してから送ることにした。
1 2 3 4 5 6 7 8 9 |
#include <stdio.h>//が必要。 unsigned char s[5]; unsigned char i; sprintf(s, "%d", ADRESH*256+ADRESL); for(i=0;i<4;i++){ UART_Transmit(s[i]); } UART_Transmit(0x0D); UART_Transmit(0x0A); |
このあたりの処理がまだC言語でスラッと書けないし、これでいいのか妥当性も不明だ。
あと、受け取り側のターミナル・ソフトも自前で用意したいところだ。