Blueooth HC06, взаимодействующий с PIC18F
В настоящее время я изучаю ПОС. Я использую PIC18F46K22. Я хочу отправлять команды с телефона на PIC с помощью модуля Bluetooth HC06. На Arduino все отлично работает. Однако, когда я переключаюсь на PIC, это не работает. Это соединение, но Rx и Tx не работают. После сравнения с кодом Arduino единственной проблемой, которую я вижу, является инициализация blueooth. Я подключил контакты Tx и Rx Bluetooth к Rx и Tx PIC, соответственно. Все сайты, которые я читаю, одинаковы, и я уже попробовал их, поэтому я не знаю, что делать. Пожалуйста, любая помощь в том, что является проблемой, очень ценится. Это мой код:
char receive;
void main(){
TRISA=0x00;
ANSELA=0;
PORTA.F0=0;
UART1_Init(9600);
Delay_ms(100);
while(1){
if (UART1_Data_Ready()) {
receive = UART1_Read();
if (receive=='1') {
PORTA.F0=1;
}
else{
PORTA.F0=0;
}
}
}
}
2 ответа
У вас очень простая ошибка, и это должно быть проблемой. PORTC по умолчанию инициализируется как аналоговый порт. Поэтому выводы Tx и Rx не выполняют свою функцию. Чтобы отключить PORTC как аналоговый (настроить как цифровой), с PIC18F46K22, функция должна быть ANSELC=0;
Надеюсь, это поможет!
Во-первых, вы не сказали, какой компилятор вы используете? Вы сделали отладку своего кода? Возможно, ваши настройки часов неверны. И это связано с неправильной настройкой скорости передачи. Проверьте свою инициализацию для UART.