내 PIC16F88에 이상한 문제가 있습니다. 나는 I2C를 통해 연결된 EEPROM을 가지고 있으며, portb.bit6에 쓸 때까지 완벽하게 작동한다. 그 시점부터, 나는 내 EEPROM에서 쓰레기를 받기 시작했다. 타이머 1을 명시 적으로 비활성화하려고했는데, 발진기에 portb.6을 사용했지만 도움이되지 않았습니다. PIC 핀 (핀 12)에서 트레이스를 잘라서 물리적으로 아무 것도 연결되지 않았으므로 도움이되지 않았습니다. 내 C 코드는 간단합니다. portb.6 = 0 또는 portb.6 = 1입니다. 어느 쪽이든, I2C를 통해 EEPROM을 읽는 것은 영원히 실패합니다. 생성 된 ASM 코드는 정상적으로 보입니다. 문제는 내가 시도한 모든 보드에서 발생하므로 한 PCB에만 국한되지 않습니다. 나는 신비화되었다. 어떤 제안?PIC16F88, portb.bit6 및 I2C
0
A
답변
0
portb의 비트에 쓰기 전에 SCL 및 SDA 핀에 0 비트를 쓸 필요가 있음이 밝혀졌습니다. FWIW, I2C 통신을 위해 PIC16F88의 SSP 주변 장치를 사용하는 것보다 비트 폭음을 사용했습니다. 이 퍼즐을 파악하기 위해 야후 그룹의 Electronics_101에있는 사람들 덕택입니다.
이 질문을 게시하려고 시도하십시오. http://electronics.stackexchange.com/ –