原子哥你好,我想问一下在蓝牙串口模块实验中
u8 HC05_Init(void)
{
u8 retry=10,t;
u8 temp=1;
RCC->APB2ENR|=1<<4; //使能PORTC时钟
GPIOC->CRL&=0XFF00FFFF; //PC4,推挽输出 C5,输入
GPIOC->CRL|=0X00830000;
GPIOC->ODR|=1<<5; //PC5上拉
USART2_Init(36,9600); //初始化串口2为:9600,波特率.
while(retry--)
{
HC05_KEY=1; //KEY置高,进入AT模式
delay_ms(10);
u2_printf("AT\r\n"); //发送AT测试指令
HC05_KEY=0; //KEY拉低,退出AT模式
for(t=0;t<10;t++) //最长等待50ms,来接收HC05模块的回应
{
if(USART2_RX_STA&0X8000)break;
delay_ms(5);
}
if(USART2_RX_STA&0X8000) //接收到一次数据了
{
temp=USART2_RX_STA&0X7FFF; //得到数据长度
USART2_RX_STA=0;
if(temp==4&&USART2_RX_BUF[0]=='O'&&USART2_RX_BUF[1]=='K')
{
temp=0;//接收到OK响应
break;
}
}
}
if(retry==0)temp=0; //检测失败
return temp;
}
我如果想把HC05改为HC06可以吗?可以的话,怎么改?求教 |