我使用STM32F4做主机,通过USART2与LMX9830通信。
根据手册,应该是发送任意命令,都应该有一个反馈的,但是我配置完成后,发送命令,并没有数据反馈。
根据启动时序图,代码如下:
//usart2 初始化 USART_Configuration(); //GPIO_WriteBit(GPIOA,P_BT_ON_PA8,Bit_SET ); //GPIO_WriteBit(GPIOA,P_BT_ON_PA8,Bit_RESET ); //GPIO_WriteBit(GPIOA,P_BT_RESET_RA,Bit_SET ); //GPIO_WriteBit(GPIOA,P_BT_RESET_RA,Bit_RESET //蓝牙初始化 //RTS_DOWN; GPIO_WriteBit(GPIOA,P_BT_ON_PA8,Bit_RESET);//下拉电源 R_RA_DOWN;//下拉REST_RA R_BB_DOWN;//下拉RESET_BB Delay(1); //R_RA_UP; GPIO_WriteBit(GPIOA,P_BT_ON_PA8,Bit_SET);//上拉电源 Delay(1); GPIO_WriteBit(GPIOA,GPIO_Pin_7,Bit_SET );//上拉RESET_RA Delay(1); R_BB_UP;//上拉RESET_BB Delay(30); //发送指令 int nSdTime = 100; RTS_UP; RTS_DOWN; while(nSdTime--) //for(int i = 0; i < 10;i++) { // unsigned char cmd[] = {0x02,0x52,0x32,0x06,0x00,0x8A,0x12,0x34,0x56,0x78,0x9A,0xBC,0x03}; //unsigned char cmd[] = {0x01}; unsigned char cmd[] = {0x02,0x52,0x27,0x06,0x00,0x7F,0x12,0x34,0x56,0x78,0x9A, 0xBC,0x03}; int cmdlen = sizeof(cmd); USART_tx(cmd,cmdlen); Delay(100); }
用示波器查看了发送波形,是正常的。
接收一直处于高电位,没有反馈的数据接收到,求解。