컴퓨터 지식 네트워크 - 컴퓨터 지식 - DS18B20의 CRC 검사는 어떻게 되었나요?

DS18B20의 CRC 검사는 어떻게 되었나요?

CRC는 일련번호가 올바른지 확인하는 데 사용되는 일련번호 확인 코드입니다. 일련번호는 일반적으로 표시되어 있지 않으며 직접 읽어야 합니다. 일련 번호를 읽는 프로그램을 제공하고 포트를 변경하여 사용할 수 있습니다:

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit DQ = P2^0; //DS18B20 포트 DQ 정의

sbit BEEP=P3^7 ; //버저 구동 라인

비트 존재

sbit LCD_RS = P2^6

sbit LCD_RW = P2^5; /p>

sbit LCD_EN = P2^4;

uchar 코드 cdis1[ ] = {" DS18B20 OK "}

uchar 코드 cdis2[ ] = {" "} ;

p>

uchar 코드 cdis3[ ] = {" DS18B20 ERR0R "}

uchar 코드 cdis4[ ] = {" 확인하세요 "}; 부호 없는 문자 데이터 표시[ 2] = {0x00,0x00};

부호 없는 문자 데이터 RomCode[8] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; >

unsigned char Temp;

void beep()

{_nop_();_nop_ ();_nop_( );_nop_();}

/***************************** ******* *********************************/

지연 무효1 (int ms)

{

unsigned char y

while(ms--)

{

for(y = 0; y<250; y++)

{

_nop_()

_nop_(); _nop_();

_nop_();

}

}

}

/*** ********* ***************************************** ********** ******/

/* */

/*LCD 사용 상태 확인*/

/*lcd_busy가 1이면 바쁜 상태입니다. 기다려주세요. LCD-busy가 0이면 유휴 상태이며 명령과 데이터를 쓸 수 있습니다.

*/

/* */

/******************************** ***** *************************************/

비트 lcd_busy()

{

비트 결과

LCD_RS = 0

LCD_RW = 1; > LCD_EN = 1;

지연NOP();

결과 = (비트)(P0&0x80)

LCD_EN = 0; 반환(결과);

}

/**************************** ***** *********************************/

/* */

/*LCD에 명령 데이터 쓰기 */

/*RS=L, RW=L, E=하이 펄스, D0-D7=명령 코드. */

/* */

/******************************** ***** ****************************************/

void lcd_wcmd(uchar cmd)

{

while(lcd_busy())

LCD_RS = 0

LCD_RW = 0;

LCD_EN = 0;

_nop_(); >

지연NOP()

LCD_EN = 1;

지연NOP()

LCD_EN = 0; /p>

/ ******************************************* ******** *******************/

/* */

/*쓰기 디스플레이 데이터를 LCD로 */

/*RS=H, RW=L, E=하이 펄스, D0-D7=데이터.

上篇: 설치란 무엇을 의미하나요? 下篇: God of War 2017의 dnf51 세트에는 어떤 타이틀 오브가 붙어 있나요?
관련 내용