2012-06-05 1 views
2

Android 기기에서 블루투스 기기를 통해 pic18f4525로 데이터를 보내려는 프로젝트가 있습니다. 현재, 저는 그림에 'A'와 같은 간단한 글자를 인식하려고합니다.블루투스 기기에서 pic18f4525의 RCREG에서 데이터 읽기

그림에서 PORTC.7 (RX 핀)을 통해 데이터를 받으면 RCREG 레지스터에 8 비트 정보를 저장 한 다음 데이터를 읽어야합니다. 나는 그림이 수신 플래그가 설정됨에 따라 데이터를 수신하고 있음을 안다. 또한, 나는 그림의 수신 핀에 스코프를 연결했고 정확한 01 시퀀스를 받고있다.

제 질문은 정보에 액세스하기 위해 RCREG 레지스터를 어떻게 읽습니까? 내가 알 수 있듯이 usart.h의 ReadUSART를 사용할 수는 있지만 헤더 파일없이이 데이터에 액세스하려고하므로이 헤더 파일은 컴파일되지 않습니다. 이것을 할 수있는 방법이 있습니까? 나는 데이터를 직접 저장하려고 시도했다. (즉 값 = RCREG), 레지스터를 읽을 수있다. (수신 플래그가 리셋되어 읽을 수있다.) 그러나 그림은 항상 0xFF라는 것을 생각한다. 보내다.

ICD2 및 CC8E 컴파일러와 함께 MPLAB 버전 8.85를 사용하고 있습니다. 데이터를 읽는 방법에 대한 도움은 크게 감사하겠습니다. 필자는 usart를 사용하여 데이터 시트를 완전히 읽었으며, 컴파일러 매뉴얼을 읽었으며,이 주제에 대한 많은 검색을 실시하지 않았습니다.

도움 주셔서 감사합니다.

업데이트 :

완료! 몇 시간 동안 어지럽히고 난 후 마침내 작동하게되었습니다. 실제로 보오율 문제였습니다. 모든 도움에 감사드립니다!

+0

데이터를 읽는 방법에 대한 코드 조각을 게시하면 문제를 진단하는 데 도움이됩니다. – user957902

+0

또한 PORTC.7을 UART RX 핀으로 사용하도록 사진을 구성한 방법을 게시하십시오. PIC 핀은 많은 fuction을 공유하며, 때로는 모든 config 레지스터를 올바르게 설정하는 것이 까다로울 수 있습니다. – user957902

답변

2

당신이하고있는 일을해야합니다. 이것은 보레이트 비율 불일치처럼 들립니다. (어쨌든 BRG 레지스터를 설정하지 않았거나 그 값을 잘못 계산했을 수도 있습니다.) TXREG에 쓰려고 시도합니다. 범위에서 잡을 수있는 TX 핀에 쓰고 실제 전송 속도가 RX에서 들어오는 속도와 동일한 지 확인하십시오.

관련 문제