R8C側に続く

実機が無いので、確認しようが無いがR8C側の受信処理検討。
こんな感じの接続を想定

プロトタイプ宣言に追加

void CamCommProcess( void );

グローバル変数追加

/* カメラとの通信用等*/
unsigned char cam_read_u ; /* 同期信号上りエッジフラグ保存用 */
unsigned char cam_trace ; /* トレースデータ保存用 */

関数を追加する(P7_0とP7_1がデジタルとして取得できるかは未確認)

void CamCommProcess( void )
{
 unsigned char cam_tmp=0;
 /*センサデータ取得(トレース) 上りエッジ*/
 if(cam_read_u==1 && (p0_3 & 0x01)==0x00 ){cam_read_u=0;}
 if(cam_read_u==0 && (p0_3 & 0x01)==0x01 ){//ポート0 bit3の立上りで取り込み
 cam_read_u=1;
 
 cam_tmp= (p1_6 & 0x01) + (p1_7 & 0x01)*2 + (p7_0 & 0x01)*4 + (p7_1 & 0x01)*8 +
 (p0_0 & 0x01)*16 + (p0_1 & 0x01)*32;
 
 cam_trace=cam_tmp;
 }
}

mainループで関数を常に呼ぶ。

while( 1 ) {

CamCommProcess();

switch( pattern ) {

getAnalogSensor関数を書き換える

int getAnalogSensor( void )
{
    int ret;

    if(cam_trace!=63){
        ret = cam_trace - 31 ;//中心が31の場合
    }else{
        ret = 0;//とりあえず今回は0にしておく
    }
    
    if( !crank_mode ) {
        //なんか処理追加
    }

    return ret;
}
カテゴリー: RMCR 2017 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です