STM32精英板连接wifi,通过指令控制继电器

STM32精英板连接wifi,通过指令控制继电器

一、连线
我是用的wifi是正点原子官方的,在精英板上有留出wifi接口,直接插入即可
继电器的连接:
在这里插入图片描述
CH1-连接你设置好的管脚,我设置的是PB5
RGND 可以不用管
GND-GND
5V-3.3V或者5V
初始状态及继电器上的D1会亮

二、代码(主要讲继电器的)

  1. 对继电器初始化(寄存器版本的)在.c文件中
    void relay_init(void){
    	RCC->APB2ENR|=1<<3;    //使能PORTB时钟	
    	//RCC->APB2ENR|=1<<6;    //使能PORTE时钟		   	 
    	   	 
    	GPIOB->CRL&=0XFF0FFFFF; 
    	GPIOB->CRL|=0X00300000;//PB.5推挽输出   	 
        GPIOB->ODR|=1<<5;      //PB.5 输出高											 
    }
    
    
  2. 端口定义 在.h文件中
    #define Relay PBout(5)	// PB5
    
  3. 在main函数中添加初始化
  4. 找到wifi接收数组USART3_RX_BUF,写指令控制继电器
    if(USART3_RX_STA&0x8000)
    			{
    				printf("USART3_RX_BUF=%s\r\n",USART3_RX_BUF);//向串口一打印数据,验证我们收到的数据
    				sprintf(a,"%s",USART3_RX_BUF);//把BUF里的数据送到a
    				printf("a=%s",a);//打印a
    		if(strstr((const char*)a,"open")) {
    						Relay=1;
    						printf("继电器打开");
    					}	
    					if(strstr((const char*)a,"close")) {
    						Relay=0;
    						printf("继电器关闭");
    					}	
    				USART3_RX_STA=0;//清空标志位
    			};
    
  5. 可以使用网络调试助手,进行测试
  6. 当我们输入close,继电器关闭,会听到咔嚓一下,同时D1会灭;反之输入open,继电器打开,也会 听到咔嚓一下,D1点亮

三、效果图
在这里插入图片描述
四、总结
其实继电器代码比较简单,我们可以把它看成一个小灯,只要我们给予高低电平就可以了。
标准库里面:

		GPIO_SetBits(GPIOB,GPIO_Pin_5);
		GPIO_ResetBits(GPIOB,GPIO_Pin_5);

Hal库里面:

	void	HAL_GPIO_WritePin( GPIOx, GPIO_Pin, GPIO_PinState PinState){}
		@arg GPIO_PIN_RESET: to clear the port pin
       	@arg GPIO_PIN_SET: to set the port pin
例如:HAL_GPIO_WritePin( GPIOB, GPIO_PIN_5, GPIO_PIN_RESET);
	 HAL_GPIO_WritePin( GPIOB, GPIO_PIN_5, GPIO_PIN_SET);
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气转身而过

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值