keil C51 환경에서는 LCD 일부 한자에 문제가 표시되지 않습니다.
1767 단어 단편기
이것은 아주 오래 전에 겪은 문제로 내가 대학에서 대학생 전자 경연을 준비할 때 근무 기간에 또 한 번 이 문제를 만났다고 거슬러 올라간다.단지 컴파일러일 수 있는 버그를 분석했을 뿐이다. 왜냐하면 간체 중국어 인코딩에서 액정은 표시할 수 있지만, 줄곧 확인되지 않았기 때문이다.며칠 전에 인터넷을 한가로이 거닐다가 패치 하나를 보고 나서야 비로소 자신의 당초 추측이 정확하다는 것을 깨달았다.
원래 이것은 컴파일러 bug입니다: keil c51은 컴파일할 때 0xfd의 문자 (일부 한자는 이 문자를 포함하는 내장 코드, 예를 들어 한자 '수') 를 필터해서 프로그램에 오류가 발생합니다.특히 액정 한자 표시를 할 때.
이 버그에 대해 일부 네티즌들은 패치를 만들어서 다운로드한 후keil/c51/bin 디렉터리에 넣고 이 프로그램을 실행합니다.됐어요.지원 v8.02
이 사이트에서 패치를 다운로드할 수 있습니다.http://share.eepw.com.cn/share/download/id/17061
또는 이 사이트에서 패치를 다운로드하십시오.http://www.cndzz.com/down/soft/39675.htm
PS:현재 주로 ARM을 하고 있기 때문에keilc51은 기본적으로 사용하지 않기 때문에 상기 패치 본인은 테스트를 한 적이 없습니다.
또한: 컴파일러 인코딩 형식 설정
Edit >> Configuration
0xFD Bug은 Keil 컴파일러에 항상 존재하고 공식적으로 복구되지 않은 BUG입니다!!!
BUG 설명: C 소스 코드에 한자 등 비 ASCII 문자를 사용하고, 이 문자의 인코딩이 0xFD보다 크거나 같은 바이트를 포함할 때, 이 바이트는 컴파일러에 의해 삭제되어 최종 프로그램 코드의 실행 오류가 발생합니다.
BUG 복구 방법 1: 16진수 편집 소프트웨어로 c51. 열기exe와 cx51.exe (이 두 파일은 같고 이름은 다르다) c51.exe 위치: Keil 설치 디렉토리/keil/c51/bin/c51.exe cx51.exe 위치: Keil 설치 디렉토리/keil/c51/bin/cx51.exe
v905 이전 0xfd 취약점 수정 방법:
80fbfd56을 80fbff56v905로 바꾸는 0xfd 빈틈 수정 방법 찾기 80fbfd0f를 80fbff0f로 바꾸는 방법
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 출력 포인터 변수 주소(16진수)텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.