资讯详情

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,当继电器关闭时,你会听到点击D相反,输入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); 

标签: sta继电器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台