H
hawk1943
Guest
안녕하세요,
당신으로 어떤 데이터를 수도 온도 및 출력 DS18B20 데이터를 알고에서 내가 사용하는 16F636를 처리 하이퍼 터미널 ...
하지만 방법은 내가 데이터를 오전 변환 데이터입니다 부정확 분명히 잘못입니까로서 전 ...
데이터를 좀 사람이 번역하는 데 도움이 우리가 ...
오직 나만이 값을 두 개의 별도의 것인지에 코드 같은 경우에 지점을 십진수 가능한 추가 ...
기본적으로이 받고있는 무슨이다 난 ...
ScratchPad 데이터 = E4 10 C FF로 7 층 0 0 5 50
ScratchPad 데이터 = 지하 1 층 10 FF로 7 층 5 0 0 1 6B
ScratchPad 데이터 대답 = 10 4 FF로 7 층 0 0 1 6C
되었다 기록된 데이터는 시간 온도가 C에서 있었어요 23.3도있어
이것은 수동으로 얼마나 데이터를 번역 난
550 = 1360 엑스 0.0625 = 85 - 당신은 항상 권력에 가치를이 ...
16C = 364 엑스 0.0625 = 22.75
16B = 363 엑스 0.0625 = 22.6875
해상도는 22.6875도 할 수있다 16분의 363 = 16 비트 나 그렇게 따라서
7 층은 바이트입니다 구성 데이터 ...그래서 12 비트 실행에있어 ...
하지만 어떻게 것입 C의 코드에서이 작업을 내가 어떻게?
나는 그것을주의해야하고 응용 프로그램 DS18B20의 일부 코드를 찍은에서 162하지만 사용하지 하느니 차라리 충돌 내가 이길 것으로 메모를 응용 프로그램 ...
내가 가지고 밖으로 시도 코드 사실과 가치를 발견 올바른 온도가 생산되지 ...
하지만 기본적으로이 그것을 얼마나 할 그들은 당신을 어떻게 보여줄 ...
코드
temp_msb <= 0x80으로)하는 경우
(
temp_lsb은 = (temp_lsb / 2); / / 전체 학위를 얻을 이동
)temp_msb = 0x80으로 temp_msb &; / / 마스크를 제외한 모든 신호 비트(temp_msb> = 0x80으로)하는 경우
(
temp_lsb = (~의 temp_lsb) 1; / / 보완 조로
)(temp_msb> = 0x80으로)하는 경우
(
temp_lsb은 = (temp_lsb / 2); / / 전체 학위를 얻을 이동
)(temp_msb> = 0x80으로)하는 경우
(
temp_lsb은 = ((-1) ※ temp_lsb); / / 비트 서명을 추가
)printf (이 "\ n \ r이 TempC = % d 개의 섭씨도 \ n \ 연구", (int) temp_lsb); / / 인쇄 온도.
C
당신으로 어떤 데이터를 수도 온도 및 출력 DS18B20 데이터를 알고에서 내가 사용하는 16F636를 처리 하이퍼 터미널 ...
하지만 방법은 내가 데이터를 오전 변환 데이터입니다 부정확 분명히 잘못입니까로서 전 ...
데이터를 좀 사람이 번역하는 데 도움이 우리가 ...
오직 나만이 값을 두 개의 별도의 것인지에 코드 같은 경우에 지점을 십진수 가능한 추가 ...
기본적으로이 받고있는 무슨이다 난 ...
ScratchPad 데이터 = E4 10 C FF로 7 층 0 0 5 50
ScratchPad 데이터 = 지하 1 층 10 FF로 7 층 5 0 0 1 6B
ScratchPad 데이터 대답 = 10 4 FF로 7 층 0 0 1 6C
되었다 기록된 데이터는 시간 온도가 C에서 있었어요 23.3도있어
이것은 수동으로 얼마나 데이터를 번역 난
550 = 1360 엑스 0.0625 = 85 - 당신은 항상 권력에 가치를이 ...
16C = 364 엑스 0.0625 = 22.75
16B = 363 엑스 0.0625 = 22.6875
해상도는 22.6875도 할 수있다 16분의 363 = 16 비트 나 그렇게 따라서
7 층은 바이트입니다 구성 데이터 ...그래서 12 비트 실행에있어 ...
하지만 어떻게 것입 C의 코드에서이 작업을 내가 어떻게?
나는 그것을주의해야하고 응용 프로그램 DS18B20의 일부 코드를 찍은에서 162하지만 사용하지 하느니 차라리 충돌 내가 이길 것으로 메모를 응용 프로그램 ...
내가 가지고 밖으로 시도 코드 사실과 가치를 발견 올바른 온도가 생산되지 ...
하지만 기본적으로이 그것을 얼마나 할 그들은 당신을 어떻게 보여줄 ...
코드
(
temp_lsb은 = (temp_lsb / 2); / / 전체 학위를 얻을 이동
)temp_msb = 0x80으로 temp_msb &; / / 마스크를 제외한 모든 신호 비트(temp_msb> = 0x80으로)하는 경우
(
temp_lsb = (~의 temp_lsb) 1; / / 보완 조로
)(temp_msb> = 0x80으로)하는 경우
(
temp_lsb은 = (temp_lsb / 2); / / 전체 학위를 얻을 이동
)(temp_msb> = 0x80으로)하는 경우
(
temp_lsb은 = ((-1) ※ temp_lsb); / / 비트 서명을 추가
)printf (이 "\ n \ r이 TempC = % d 개의 섭씨도 \ n \ 연구", (int) temp_lsb); / / 인쇄 온도.
C