UART 기능을 사용할 때 스위치 케이스에 문제가 있습니다. 데이터를 수신하여 eeprom에 저장합니다. 나는 무엇이 보내 졌는지보기 위해 switch 문을 호출한다고 생각한다. 나는 eeprom을 읽고 정보는 옳지 만 나는 올바른 것을 읽을 수 없다. 항상 오류 (기본 경우)로 기본 제공됩니다. 하이테크 C 컴파일러를 사용하고 있습니다.PIC16f877a 스위치가 올바르게 읽히지 않습니다.
unsigned char tempVal;
tempVal = eeprom_read(cmdByteAddr);
switch(tempVal){
//Get temperature
case 30:
writeByte('T');
break;
//Get temp high
case 31:
writeByte('T');
writeByte('H');
break;
//Get temp low
case 32:
writeByte('T');
writeByte('L');
break;
//Get humidity
case 41:
writeByte('H');
break;
//Get humidity high
case 42:
writeByte('H');
writeByte('H');
break;
//Get humidity low
case 43:
writeByte('H');
writeByte('L');
break;
//Error
default:
writeByte('E');
writeByte(eeprom_read(cmdByteAddr));
break;
}
그래서 기본값에 도달하면 다시 EEPROM에서 (무의미한) 리드 백을 수행하고 오류 표시기 'E'의 결과를 인쇄합니다. 무엇이 인쇄됩니까? 여기에 정보가 너무 적습니다. – unwind