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.

Другие вопросы по тегам