인풋으로 들어오는 signal 을 저장해서 출력하려고하는데 문제가 있습니다.
조회수 906회
unsigned int8 sensor_write ( int8* first_byte)
{
int8 i=0x00;
unsigned int8 iobyte = 0x00;
const int8 mask0 = 0x00;
const int8 mask1 = 0x01;
iobyte = 0;
for( i= 0; i < 8 ; i++)
{
iobyte = iobyte << 1;
output_bit(PM_CLOCK_pin,1);
if ( input(PM_MISO_pin))
{
iobyte |= mask1;
}
else
{
iobyte |= mask0;
}
delay_us(1);
output_bit(PM_CLOCK_pin,0);
delay_us(1);
}
printf ("1:%x", iobyte);
}
위와 같은 함수를 돌려 입력받은 데이터를 iobyte에 저장하여 이를 출력하는데..
0x00,0x01 과 같이 출력이 될것으로 예상이 되었는데.. 0x000, 0x001 과 같이 출력이됩니다.
0xf1,0xf2 의 경우에는 0xff1, 0xff2 와 같이 출력이되는데..
자료형에 문제가 있는것인지.. 혹은 다른부분에 문제가 있는것인지 도무지 감을 잡을수가 없어..
도움을 요청합니다.ㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력