저는 자일링스 스파르탄 6 FPGA 용 EDK 프로젝트를 진행하고 있습니다. Microblaze 마이크로 프로세서가 FPGA로 구현 된 마이크로 프로세서 시스템이 있습니다.임베디드 C++ 소프트웨어의 문자 집합 문제
Microblaze가 실행하는 소프트웨어 코드에 지정된 텍스트를 표시하기위한 자체 메모리 공간이있는 그래픽 pcore가 있습니다. 연관된 ASCII 테이블의 문자 수는 256 자입니다.
소프트웨어는 RS232 인터페이스로 텍스트를 가져옵니다. 영어 텍스트 (0-127)를 표시 할 때 모든 것이 괜찮습니다. 왜냐하면 영어 문자가 모든 문자셋에서 동일하기 때문입니다. 그러나 러시아어를 표시하려고 할 때 소프트웨어가 해당 ASCII 코드를이 기호와 연결할 수 없습니다.
0-255 ASCII 간격에 맞게 rs232의 텍스트를 구문 분석해야합니까?
RS232 인터페이스를 통해 들어오는 텍스트의 형식은 무엇입니까? ASCII 및 확장 ASCII는 내 지식에 러시아어를 표시 할 수 없습니다. 코드 페이지는 Windows입니다. 소프트웨어가 UTF8/16/32를 제공하지 않으면 러시아어가 아닙니다. –
또한 텍스트를 표시하기위한 옵션은 무엇입니까? UTF와 호환되지 않는 경우 어쨌든 러시아어를 표시 할 수 없습니다. –
@MooingDuck 텍스트가 RAW 텍스트 형식으로 나오고 RS232를 통한 추가 프로토콜이 사용되지 않습니다. 나는 소스로부터 일련의 문자들을 보내고 임베디드 타겟 시스템에서 파싱한다. 텍스트를 표시하는 pcore는 혼자 개발되었습니다. 필자는 수동으로 FPGA 블록 RAM을 텍스트 메모리 (예 : 이전 DOS 시스템의 80x40 텍스트 모드)로 구성했습니다. 필자는 또 다른 양의 BRAM을 폰트 ROM으로 구성하여 8x16 콘솔 폰트 (키릴 문자 PSF 폰트 파일로 만든)의 256 자 이미지를 저장했다. 화면에 글자를 표시하기 위해서는 Microblaze 프로세서로 한 바이트의 텍스트 메모리 만 설정하면됩니다. –