核心板使用串口与ESP8266进行通信,接收WiFi模块回传的指令,从而控制继电器的开与关。ESP8266使用AT固件,在初始化时配置成AP兼Station模式,使用TCP协议模拟成TCP服务端。PC端盖通过链接WiFi模块生成的热点,使用网络调试助手即可与WiFi模块通信。STM32核心板通过串口与WiFi模块通信,并通过串口初始化WiFi模块与接收指令。再对串口接收到的数据进行判断,控制IO口的电平从而起到对继电器的控制。
3. 程序设计/************************************************************/
/**************************主函数****************************/
/************************************************************/
void JTAG_Set(u8 mode)
{
u32 temp;
temp=mode;
temp<<=25;
RCC->APB2ENR|=1<<0; //开启辅助时钟
AFIO->MAPR&=0XF8FFFFFF; //清除MAPR的[26:24]
AFIO->MAPR|=temp; //设置jtag模式
}
u8 ch='0';
int main(void)
{
delay_init(); //初始化延时函数
LED_GPIO_Config(); //初始化IO口
JTAG_Set(JTAG_SWD_DISABLE);
JTAG_Set(SWD_ENABLE);
USART_Config(); //初始化串口
IIC_Init(); //初始化IIC总线
OLED_Init(); //初始化OLED
oled_1();
ESP8266_Init(); //初始化Wifi模块
oled_2();
while(1){ //接受串口数据并判断
ch=getchar();
if(ch=='0'){
KEY_OFF
}
else if(ch=='1'){
KEY_ON
}
}
}
/******************************************************/