메뉴 바로가기
서브메뉴 바로가기
본문 바로가기
답변은 회로도와 전체 소스를 봐야 좀더 정확한 답변을 드릴 수 있습니다.
올려 주신 코드만 보고 문제가 생길만한 부분을 추측해 보면,
1. delay_us(500) 를 delay_us(2) 또는 3 정도로 해보세요.
FND 자리수마다 너무 많은 시간을 할당하면 다른 FND 가 꺼져 있는 것처럼 보일수 있습니다.
2.
temp = rtc_read(0x04); //시를 읽어옴 를 temp=12 로 하드 코딩하여,
00:00:00 이 나오는지 확인해 보세요.
만약 여기서 00:00:00 이 나온다면 그 이하줄에는 문제가 없는 것이 되죠.
하지만 92:00:00 으로 표시된다면 rtc_read(0x04) 에서 이상한 값이 나와서 그런 겁니다.
하드웨어적인 문제가 없는지 확인해 봐야 합니다.
FND 를 00:00:00 ~ 11:59:59 까지 출력이 잘되는지 확인해 보세요.
(그렇다고 12시간 동안 계속 지켜 보시지는 말구요^^)
3.
AM, PM 출력에서는 if 문을 사용하는게 가장 좋은 방법 같은데요..
여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.
파일 용량 제한 : 0MB (허용 확장자 : *.*)
업로드 중... (0%)
답변은 회로도와 전체 소스를 봐야 좀더 정확한 답변을 드릴 수 있습니다.
올려 주신 코드만 보고 문제가 생길만한 부분을 추측해 보면,
1. delay_us(500) 를 delay_us(2) 또는 3 정도로 해보세요.
FND 자리수마다 너무 많은 시간을 할당하면 다른 FND 가 꺼져 있는 것처럼 보일수 있습니다.
2.
temp = rtc_read(0x04); //시를 읽어옴 를 temp=12 로 하드 코딩하여,
00:00:00 이 나오는지 확인해 보세요.
만약 여기서 00:00:00 이 나온다면 그 이하줄에는 문제가 없는 것이 되죠.
하지만 92:00:00 으로 표시된다면 rtc_read(0x04) 에서 이상한 값이 나와서 그런 겁니다.
하드웨어적인 문제가 없는지 확인해 봐야 합니다.
FND 를 00:00:00 ~ 11:59:59 까지 출력이 잘되는지 확인해 보세요.
(그렇다고 12시간 동안 계속 지켜 보시지는 말구요^^)
3.
AM, PM 출력에서는 if 문을 사용하는게 가장 좋은 방법 같은데요..