这个模块怎么与stm32结合在一起使用

这个模块怎么与stm32结合在一起使用

img

  1. 按键模块怎么使用
    按键模块怎么与stm32相连接

这个购买的时候链接里面应该有描述吧(没有就问问商家,不行就查找资料),将需要的引脚借用杜邦线和STM32的控制引脚连接即可

【相关推荐】



  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/357969
  • 你也可以参考下这篇文章:【毕设转发分享】基于STM32景区人流检测设计-基于STM32的示波器信号发生器设计-基于STM32的多功能智能密码锁控制设计-STM32闭环步进电机控制系统设计-基于STM32的智能蓝牙小车控制设计
  • 您还可以看一下 谭伟伟老师的STM32入门开发与实践-初入篇课程中的 STM32系统时钟与中断介绍小节, 巩固相关知识点
  • 除此之外, 这篇博客: 基于stm32的蓝牙控制小舵机自动关灯程序中的 stm32新手看过来 分享一个基于stm32的蓝牙控制小舵机自动关灯程序 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    用的是stm32f103c8t6最小系统板,实现功能是蓝牙控制舵机转动,之后stm32和蓝牙模块进入休眠省电模式
    这里采用了软件发送AT指令使得蓝牙模块进入休眠,需要注意的是不同厂家生产的蓝牙模块的AT指令不一样。(我用的是HC08)

    这个程序很适合stm32新手练手编写,简单实用,能复习到stm32两大重要功能:脉宽调制和串口通信,另外对熟悉stm32f1系列单片机也有很大帮助

    当然最重要的是实用,自己做一个关灯装置,在舍友的惊叹声中实现“魔法关灯”吧哈哈。

    这个程序已经是成熟的版本了,两节南孚给蓝牙模块和stm32供电,已经使用了半个月了(之前没有加入蓝牙休眠的时候一晚上就没电了)

    其中主函数如下

    #include "pwm.h"
    #include "system.h"
    #include "SysTick.h"
    #include "usart.h"
    
    int main()
    {
            SysTick_Init(72);
            NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中断优先级分组 分2组
            TIM2_CH1_PWM_Init(199,7199); 
            USART1_Init(9600);
            TIM_SetCompare3(TIM2,185);
            
            while(1)
            {
            sleep();
    
            servo_control();
            }
    }
    

    void servo_control (void)
    {

    if(r==0x35)
    {
    	if(flag==1)
    	{
    		TIM_SetCompare3(TIM2,170);
    		delay_ms(1000);
    		TIM_SetCompare3(TIM2,185);
    		delay_ms(100);
    		flag=0;
    	PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFE);
    	}
    }
    

    }

    软件发送蓝牙AT指令,根据蓝牙模块厂家不一,AT指令会不同
    delay_ms(1);很重要,实践检验:如果少了这个那么只能发送出第一个字符;

    void sleep(void)
    {
    	 if (sleep_flag==0)
    	 {
    		  delay_ms(1000);
    	    USART_SendData(USART1,0x41);
    		  delay_ms(1);
    		 
    		  USART_SendData(USART1,0x54);
    		  delay_ms(1);
    		 
    		  USART_SendData(USART1,0x2b);
    		  delay_ms(1);
    		 
    		  USART_SendData(USART1,0x4d);
    		  delay_ms(1);
    		 
    		  USART_SendData(USART1,0x4f);
    		  delay_ms(1);
    		 
    		  USART_SendData(USART1,0x44);
    		  delay_ms(1);
    		 
    		  USART_SendData(USART1,0x45);
    		  delay_ms(1);
    		 
    		  USART_SendData(USART1,0x3d);
    		  delay_ms(1);
    			
    			USART_SendData(USART1,0x31);
    		  delay_ms(1);
    		  sleep_flag=1;
    	 }
    
    }
    

    其他就是一些GPIO的设置以及pwm的配置这些了,篇幅原因在此不多叙述,有问题的可以在下方留言

    HC08可以替换为HC05,当然AT指令有所变化,但是邮票式的封装可以不变,要注意HC05需要下拉KET才能输入AT指令。主要是HC05有个好处,它可以和APP inventor写的安卓手机APP进行蓝牙通讯,HC08我试过好像不可以,APP inventor还是比较简单且强大的,可以实现语音控制。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^