
#<함수형>****************************************************
void _I2c_읽기X_(unsigned char   *pI2c포트,
                unsigned char   *r읽어들일저장소,
                unsigned short   p읽을크기,
                unsigned char    p마지막확인유무);
               
#define  _I2c_ReadX_    _I2c_읽기X_

#<인수>
'pI2c포트'
I2C 포트 [생성자](반드시 <unsigned char [5]> 의 배열로 선언해야함).
'r읽어들일저장소'
I2C 포트로 읽어들인 자료열을 저장할 저장소 위치.
'p읽을크기'
읽어들일 자료열의 바이트단위 길이.
'p마지막확인유무'
마지막 <ACK> 를 발생시킬지 말지를 결정한다.
1 : 발생시킨다.
0 : 발생시키지 않는다.

#<반환값>

#***********************************************************

#<적용구분>

"맷돌 전용"

#<선언문서>

"_I2c_읽기X_.h"

#<설명>

지정된 I2C 포트로 지정 바이트 크기만큼 자료열을 읽어 지정 저장소에 저장합니다.

이 함수는 내부적으로 I2C 연속 입력조건에 따라 1바이트 입력시마다 <ACK> 를 발생시킵니다.
즉, [1바이트입력 + <ACK>발생] + [1바이트입력 + <ACK>발생] + ... 의 형식으로 처리하게 됩니다.
여기서는 <Master> 가 <ACK> 를 발생시킨다는 것에 주의해야 합니다.

I2C 연속입력의 경우는 가장 마지막의 <ACK> 를 발생하지 않고 바로 [종료] 할수 있게 규정돼 있으므로 
사용자는 가장 마지막의 <ACK> 를 발생시킬지 말지를 결정할수 있습니다.

이 함수는 I2C 포트가 생성돼 있는 경우만 사용해야 합니다.

#<예제>

  //[VAR]
  //{
      //I2C 포트 생성자.
      unsigned char  i2c포트[5];
      
      //자료열을 담을 저장소를 만듭니다.
      unsigned char  자료열[256]; 

  //} 

  // ...
  
  //지정 I2C 포트로 지정 바이트 크기 만큼 자료열을 읽어들여 지정 저장소에 저장합니다.
  //단, 마지막의 <ACK> 는 발생시키지 않습니다.
  _I2c_쓰기X_(i2c포트, 자료열, 112, 0);
  
  // ... 

  