RX231のコード生成を用いた簡易IIC通信について

電流・電圧測定デバイスであるINA233を用いて電圧値を測定し,測定値を簡易IIC通信でRX231に送るプログラムを作成しておりますが上手くいきません.

RX231シリーズ R5F52316ADFM 

ROM:256Kbyte RAM 32Kbyte  外部発振20MHzを使用しています.

コード生成はSCI12を簡易IICバスに設定し,生成しました.

void main(void)
{
    R_MAIN_UserInit();
    /* Start user code. Do not edit comment generated here */
   {
    uint8_t     adr         =0      ;//7bit address
 uint8_t     dir         =0      ;//0:Write 1:Read
 
 uint8_t  tx_buf[255] = {0};//send data
     uint8_t  rx_buf[255] = {0};//receive data
 
 while(1){
  adr = 0x41;
  dir = 0x00;
  adr = (adr<<1) | (dir & 0x00);
  tx_buf[0] = 0x88; //READ_VIN PMBusコード ina233
  tx_buf[1] = 0x89; //READ_IN PMBusコード ina233
    
  //PMBusコマンド ina233に送信
  R_SCI12_Create();
  R_SCI12_Start();
  R_SCI12_IIC_Master_Send(adr,&tx_buf[0],3);
  R_SCI12_Stop();
 
  adr = 0x41;
  dir = 0x01;
  adr = (adr<<1) | (dir & 0x00);
 
  //ina233からデータ取得
  R_SCI12_Start();
  R_SCI12_IIC_Master_Receive(adr,rx_buf,3);
  R_SCI12_Stop();
 }
   }
  
    /* End user code. Do not edit comment generated here */
}

CS+の設定等もよく分からないのでその辺りも教えていただけるとありがたいです.

初歩的な質問ですいませんが,よろしくお願いいたします.

//INA233のデータシート

www.ti.com/.../ina233.pdf

Parents
  • fiRe様、鈴木と申します。
    チョコ様の指摘にあるように R_SCI12_IIC_Master_Send, R_SCI12_IIC_Master_Receiveは
    割り込みでそれぞれ送信完了、受信完了を受ける必要があります。
    割り込みで送信、受信を行うため、R_SCI12_Stop();を呼んでしまうと送信、受信処理は
    行われないうちに停止します。
    また、R_SCI12_Create();は、スタートアップで呼ばれるので不要です。
    下記のAPIマニュアルに使用例が掲載されていますのでご参照ください。
    www.renesas.com/.../r20ut4324jj0100-cgapirx.pdf
    以上、よろしくお願いします。
  • チョコです。

    鈴木さん,このマニュアルの記述は問題があります。

     R_SCIn_IIC_Master_Send関数では,(引数adrで指定したスレーブ・アドレスとR/W#ビット)と記述されているのに,

    R_SCIn_IIC_Master_Receive関数では,(引数adrで指定したスレーブ・アドレス)と矛盾する記述になっています。

    APIの使い方としてのプログラムも掲載されていないのでは,初心者はつかえませんよ。

    マニュアルのに直しを要望します。

Reply
  • チョコです。

    鈴木さん,このマニュアルの記述は問題があります。

     R_SCIn_IIC_Master_Send関数では,(引数adrで指定したスレーブ・アドレスとR/W#ビット)と記述されているのに,

    R_SCIn_IIC_Master_Receive関数では,(引数adrで指定したスレーブ・アドレス)と矛盾する記述になっています。

    APIの使い方としてのプログラムも掲載されていないのでは,初心者はつかえませんよ。

    マニュアルのに直しを要望します。

Children
No Data