我目前正在学习PIC。我使用的是PIC18F46K22。我想使用蓝牙HC06模块将命令从手机发送到PIC。在Arduino上,一切正常。但是,当我切换到PIC时,它不起作用。它是连接但Rx和Tx不执行。在与arduino代码进行比较后,我看到的唯一问题是蓝牙初始化。我已经将蓝牙的Tx和Rx引脚分别连接到PIC的Rx和Tx。我读的所有网站都是一样的,我已经尝试过了,所以我无能为力。拜托,对于什么是probelm的任何帮助都非常感谢。 这是我的代码:
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;
}
}
}
}
答案 0 :(得分:0)
首先,你没有说你正在使用什么编译器?你调试代码了吗?也许你的时钟设置是错误的。这是由于设置了错误的波特率。检查uart的初始化。
答案 1 :(得分:0)
你有一个非常简单的错误,这应该是问题所在。 PORTC默认初始化为模拟端口。因此,Tx和Rx引脚不执行其功能。为了将PORTC禁用为模拟(配置为数字),使用PIC18F46K22,该功能将为ANSELC=0;
希望有所帮助!