1

我目前正在学习PIC。我正在使用 PIC18F46K22。我想使用蓝牙 HC06 模块从手机向 PIC 发送命令。在 Arduino 上,一切正常。但是,当我切换到 PIC 时,它不起作用。它正在连接,但 Rx 和 Tx 不执行。与 arduino 代码比较后,我看到的唯一问题是蓝牙初始化。我已将蓝牙的 Tx 和 Rx 引脚分别连接到 PIC 的 Rx 和 Tx。我读的所有网站都是一样的,而且我已经试过了,所以我不知道该怎么做。非常感谢您对问题的任何帮助。这是我的代码:

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;
                        }

                             }
                                  }
                                         }
4

2 回答 2

0

首先,你没有说你使用的是什么编译器?你调试你的代码了吗?也许你的时钟设置是错误的。这是由于设置了错误的波特率。检查您的 uart 初始化。

于 2017-12-17T23:41:23.040 回答
0

你有一个非常简单的错误,这应该是问题所在。PORTC 默认初始化为模拟端口。因此,Tx 和 Rx 引脚不执行它们的功能。为了将 PORTC 禁用为模拟(配置为数字),使用 PIC18F46K22,该功能将是ANSELC=0; 希望有帮助的!

于 2017-12-18T17:16:07.613 回答