精华内容
下载资源
问答
  • stm32蓝牙模块
    2021-07-01 19:57:42

    MyBluetooth/.gitignore , 127

    MyBluetooth/.gradle/3.3/taskArtifacts/fileHashes.bin , 139383

    MyBluetooth/.gradle/3.3/taskArtifacts/fileSnapshots.bin , 2897098

    MyBluetooth/.gradle/3.3/taskArtifacts/taskArtifacts.bin , 86227

    MyBluetooth/.gradle/3.3/taskArtifacts/taskArtifacts.lock , 17

    MyBluetooth/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin , 110675

    MyBluetooth/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock , 17

    MyBluetooth/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin , 20081

    MyBluetooth/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock , 17

    MyBluetooth/.idea/compiler.xml , 686

    MyBluetooth/.idea/copyright/profiles_settings.xml , 76

    MyBluetooth/.idea/encodings.xml , 236

    MyBluetooth/.idea/gradle.xml , 626

    MyBluetooth/.idea/libraries/animated_vector_drawable_25_3_1.xml , 601

    MyBluetooth/.idea/libraries/appcompat_v7_25_3_1.xml , 565

    MyBluetooth/.idea/libraries/constraint_layout_1_0_2.xml , 410

    MyBluetooth/.idea/libraries/constraint_layout_solver_1_0_2.xml , 337

    MyBluetooth/.idea/libraries/espresso_core_2_2_2.xml , 579

    MyBluetooth/.idea/libraries/espresso_idling_resource_2_2_2.xml , 612

    MyBluetooth/.idea/libraries/exposed_instrumentation_api_publish_0_5.xml , 630

    MyBluetooth/.idea/libraries/hamcrest_core_1_3.xml , 526

    MyBluetooth/.idea/libraries/hamcrest_integration_1_3.xml , 354

    MyBluetooth/.idea/libraries/hamcrest_library_1_3.xml , 342

    MyBluetooth/.idea/libraries/javawriter_2_1_1.xml , 330

    MyBluetooth/.idea/libraries/javax_annotation_api_1_2.xml , 358

    MyBluetooth/.idea/libraries/javax_inject_1.xml , 324

    MyBluetooth/.idea/libraries/jsr305_2_0_1.xml , 330

    MyBluetooth/.idea/libraries/junit_4_12.xml , 477

    MyBluetooth/.idea/libraries/rules_0_5.xml , 540

    MyBluetooth/.idea/libraries/runner_0_5.xml , 543

    MyBluetooth/.idea/libraries/support_annotations_25_3_1.xml , 495

    MyBluetooth/.idea/libraries/support_compat_25_3_1.xml , 571

    MyBluetooth/.idea/libraries/support_core_ui_25_3_1.xml , 574

    MyBluetooth/.idea/libraries/support_core_utils_25_3_1.xml , 583

    MyBluetooth/.idea/libraries/support_fragment_25_3_1.xml , 577

    MyBluetooth/.idea/libraries/support_media_compat_25_3_1.xml , 589

    MyBluetooth/.idea/libraries/support_v4_25_3_1.xml , 404

    MyBluetooth/.idea/libraries/support_vector_drawable_25_3_1.xml , 598

    MyBluetooth/.idea/misc.xml , 2226

    MyBluetooth/.idea/modules.xml , 359

    MyBluetooth/.idea/runConfigurations.xml , 564

    MyBluetooth/.idea/workspace.xml , 186924

    MyBluetooth/app/.gitignore , 8

    MyBluetooth/app/app.iml , 10177

    MyBluetooth/app/build/generated/source/buildConfig/androidTest/debug/com/example/gao/mybluetooth/test/BuildConfig.java , 471

    MyBluetooth/app/build/generated/source/buildConfig/debug/com/example/gao/mybluetooth/BuildConfig.java , 461

    MyBluetooth/app/build/generated/source/r/androidTest/debug/android/app/R.java , 241

    MyBluetooth/app/build/generated/source/r/androidTest/debug/android/support/test/espresso/idling/R.java , 266

    MyBluetooth/app/build/generated/source/r/androidTest/debug/android/support/test/espresso/R.java , 362

    MyBluetooth/app/build/generated/source/r/androidTest/debug/android/support/test/R.java , 250

    MyBluetooth/app/build/generated/source/r/androidTest/debug/android/support/test/rule/R.java , 358

    MyBluetooth/app/build/generated/source/r/androidTest/debug/com/example/gao/mybluetooth/test/R.java , 407

    MyBluetooth/app/build/generated/source/r/debug/android/support/compat/R.java , 252

    MyBluetooth/app/build/generated/source/r/debug/android/support/constraint/R.java , 15438

    MyBluetooth/app/build/generated/source/r/debug/android/support/coreui/R.java , 252

    MyBluetooth/app/build/generated/source/r/debug/android/support/coreutils/R.java , 255

    MyBluetooth/app/build/generated/source/r/debug/android/support/fragment/R.java , 254

    MyBluetooth/app/build/generated/source/r/debug/android/support/graphics/drawable/animated/R.java , 272

    MyBluetooth/app/build/generated/source/r/debug/android/support/graphics/drawable/R.java , 263

    MyBluetooth/app/build/generated/source/r/debug/android/support/mediacompat/R.java , 257

    MyBluetooth/app/build/generated/source/r/debug/android/support/v4/R.java , 248

    MyBluetooth/app/build/generated/source/r/debug/android/support/v7/appcompat/R.java , 110550

    MyBluetooth/app/build/generated/source/r/debug/com/example/gao/mybluetooth/R.java , 569248

    MyBluetooth/app/build/intermediates/blame/res/androidTest/debug/multi/values.json , 925

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/color.json , 2

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/layout.json , 2

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-af.json , 15584

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-am.json , 15578

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ar.json , 15586

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-az-rAZ.json , 15016

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-b+sr+Latn.json , 15896

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-be-rBY.json , 15766

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-bg.json , 15590

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-bn-rBD.json , 15770

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-bs-rBA.json , 15766

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ca.json , 15590

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-cs.json , 15586

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-da.json , 15582

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-de.json , 15586

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-el.json , 15592

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-en-rAU.json , 15758

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-en-rGB.json , 15758

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-en-rIN.json , 15758

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-es-rUS.json , 15768

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-es.json , 15588

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-et-rEE.json , 15768

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-eu-rES.json , 15764

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-fa.json , 15588

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-fi.json , 15582

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-fr-rCA.json , 15768

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-fr.json , 15592

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-gl-rES.json , 15766

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-gu-rIN.json , 15762

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-h720dp-v13.json , 958

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-hdpi-v4.json , 1018

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-hi.json , 15588

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-hr.json , 15586

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-hu.json , 15592

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-hy-rAM.json , 15760

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-in.json , 15588

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-is-rIS.json , 15756

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-it.json , 15584

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-iw.json , 15580

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ja.json , 15574

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ka-rGE.json , 15764

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-kk-rKZ.json , 15762

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-km-rKH.json , 15760

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-kn-rIN.json , 15766

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ko.json , 15570

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ky-rKG.json , 15762

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-land.json , 3130

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-large-v4.json , 6876

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ldltr-v21.json , 956

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-lo-rLA.json , 15758

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-lt.json , 15592

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-lv.json , 15590

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-mk-rMK.json , 14276

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ml-rIN.json , 15766

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-mn-rMN.json , 15760

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-mr-rIN.json , 15766

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ms-rMY.json , 15764

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-my-rMM.json , 15768

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-nb.json , 15578

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ne-rNP.json , 15770

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-night-v8.json , 5394

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-nl.json , 15592

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-pa-rIN.json , 15758

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-pl.json , 15588

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-port.json , 934

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-pt-rBR.json , 15768

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-pt-rPT.json , 15768

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-pt.json , 15592

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ro.json , 15592

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ru.json , 15590

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-si-rLK.json , 15764

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-sk.json , 15584

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-sl.json , 15588

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-sq-rAL.json , 15764

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-sr.json , 15588

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-sv.json , 15586

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-sw.json , 15584

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-sw600dp-v13.json , 6184

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ta-rIN.json , 15766

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-te-rIN.json , 15768

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-th.json , 15584

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-tl.json , 15594

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-tr.json , 15584

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-uk.json , 15586

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-ur-rPK.json , 15762

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-uz-rUZ.json , 15766

    MyBluetooth/app/build/intermediates/blame/res/debug/multi/values-v11.json , 19198

    最多只能显示150条信息!

    更多相关内容
  • STM32蓝牙模块

    2019-01-15 20:59:31
    关于蓝牙通信以及硬件配置,设置局域网和基本的知识组织
  • 这里面我用stm32控制蓝牙模块点亮LED灯的简单实验,让新手能简单通过蓝牙模块控制stm32上面的某些设备!资料里面有AT指令集!!!
  • STM32开发板蓝牙的程序源码
  • STM32F103C8T6核心板蓝牙模块原理图
  • 基于STM32蓝牙模块

    2016-04-19 10:55:18
    基于STM32蓝牙模块,主控室STM32F107VCT6,蓝牙模块是BC04
  • 基于stm32的蓝牙智能小车,可实现多种功能,通过蓝牙模块stm32进行实时通讯,减速直流电机控制小车的移动,采用差速传动后驱,串联前轮,达到驱动小车的目的;超声波和oled显示配合,通过超声波测距测量小车距离...
  • 使用STM32战舰版,网上购买的HC-05模块,PA2-RXD,PA3-TXD,VCC-5V,GND-GND,STATE和EN不连。注意使用的串口为两个,串口二的PA2和PA3连接蓝牙模块,串口一需要和战舰板上的TXD和RXD连接。另外连接完成后,需要按下...
  • 问题遇到的现象和发生背景 使用JDY-31蓝牙模块接发数据时,如果使用重定义后的printf函数对接收到的数据进行返回,从蓝牙调试助手上看是正确的,但通过J-Scope查看变量,却现实始终未0,并且发送的数据无法得到响应...
  • 近日学习STM32串口通信,手上又有现成的PM2.5传感器和蓝牙HC-06模块,于是做了一个小型的空气检测并通过蓝牙实时往手机发送的小系统,并且通过L298N电机驱动可以控制一个电机进行空气清新,因为电机还没到,而且空气...
  • 实战项目(2)STM32cubeMX配置蓝牙模块

    千次阅读 2022-02-17 14:49:11
    文章目录前言一、蓝牙模块介绍二、cubeMX配置及代码解析1.cubeMX配置2.代码解析总结 前言 本篇文章带大家了解并学会使用蓝牙模块 一、蓝牙模块介绍 JDY31蓝牙模块 JDY-31 蓝牙基于蓝牙 3.0 SPP 设计,这样可以支持 ...

    前言

    本篇文章带大家了解并学会使用蓝牙模块

    一、蓝牙模块介绍

    JDY31蓝牙模块
    在这里插入图片描述
    JDY-31 蓝牙基于蓝牙 3.0 SPP 设计,这样可以支持 Windows、Linux、android 数据透传,
    工作频段 2.4GHZ,调制方式 GFSK,最大发射功率 8db,最大发射距离 30 米,支持用户通过
    AT 命令修改设备名、波特率等指令,方便快捷使用灵活。

    蓝牙接线方式
    VCC-3.3V
    GND-GND
    TXD-RXD
    RXD-TXD

    二、cubeMX配置及代码解析

    1.cubeMX配置

    1.选择型号
    在这里插入图片描述
    2.设置晶振
    在这里插入图片描述
    3.开启串口中断和设置波特率
    这里选择的是串口3大家根据自己的接线选择串口号
    在这里插入图片描述
    在这里插入图片描述
    4.设置时钟树

    5.设置一个灯用来检测蓝牙功能
    在这里插入图片描述

    6.创建工程
    在这里插入图片描述

    2.代码解析

    蓝牙大家可能会觉得很高大上其实不然他和串口的使用方法是完全一样的,
    下面就给大家讲解蓝牙代码的编写。

    //灯LED1的IO定义
    #define LED1_RESET() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET) //设置LED1低电平
    #define LED1_SET() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET) //设置LED1高电平
    
    
    u8 RX_dat=0;//接收变量
    u8 TX[]="Hello";
    
    //回调函数
    void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
    {
      if(huart->Instance == USART3)
      {
        if(RX_dat==0xa1)
        {
           LED1_SET();
          HAL_UART_Receive_IT(&huart3,&RX_dat,1);//启动接收函数
        }
        else if(RX_dat==0xa2)
        {
          LED1_RESET();
          HAL_UART_Receive_IT(&huart3,&RX_dat,1);//启动接收函数
        }
      }
    }
    
    HAL_UART_Transmit(&huart3,TX,sizeof(TX),10000);//开机发送Hello
    
    
    while(1)
    {
    	HAL_UART_Receive_IT(&huart3,&RX_dat,1);
    }
    

    总结

    蓝牙大家不用觉得可怕使用起来和串口是一样的。大家有问题可以留言或者私信,喜欢的朋友点个赞。

    展开全文
  • stm32f103c8t6控制蓝牙模块实现led灯亮灭

    万次阅读 多人点赞 2020-11-19 19:51:22
    stm32f103c8t6控制蓝牙模块实现led灯亮灭 之前利用蓝牙模块是用arduino控制板的,现在已经渐渐接触stm32,所以,这次想着用stm32来控制蓝牙模块。 首先的话,需要配置蓝牙模块的一些参数,用到的模块有: USB转TTL...

    stm32f103c8t6控制蓝牙模块实现led灯亮灭

    之前利用蓝牙模块是用arduino控制板的,现在已经渐渐接触stm32,所以,这次想着用stm32来控制蓝牙模块。
    首先的话,需要配置蓝牙模块的一些参数,用到的模块有:
    USB转TTL模块、HC-05蓝牙模块
    两模块共地,两模块共VCC(VCC取5V);蓝牙模块的RX接转换模块的TX,蓝牙模块的TX接转换模块的RX。然后直接把USB转TTL模块插入电脑的USB接口,利用串口调试助手来设置模块的参数,关于这个串口调试助手,相信接触过单片机的人都会有的,这里就不发出来了。

    蓝牙模块的调试

    **HC-05蓝牙串口通讯模块具有两种工作模式:命令响应工作模式和自动连接工作模式。**在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。

    当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;
    当模块处于命令响应工作模式时能执行AT命令,用户可向模块发送各种AT 指令,为模块设定控制参数或发布控制命令。

    怎么进入命令响应工作模式?

    进入命令响应工作模式有两种方法:

    模块上电,未配对情况下就是AT模式,波特率为模块本身的波特率,默认:9600,发送一次AT指令时需要置高一次PIO11;
    PIO11 置高电平后,再给模块上电,此时模块进入AT 模式,波特率固定为:38400,可以直接发送AT指令。

    什么叫做置高一次PIO11?

    **在蓝牙模块中有一个小按键,按一下就置高一次PIO11。**也就是说,第一种方法需要每发送一次AT指令按一次;而第二种方式是长按的过程中上电,之后就无需再管了,直接发送AT命令即可。

    需要注意一下,两种进入命令响应工作模式的方式使用的波特率是不一样的,建议使用第二种方式。

    怎么区分进了命令响应工作模式呢?

    在蓝牙模块上有灯,当灯快闪的时候,就是自动连接工作模式;当灯慢闪的时候,就是命令响应工作模式。
    本人在测试过程中,是先按住小按键后,然后把USB转TTL模块插入到电脑的USB中去,这样蓝牙模块上面的灯就慢闪,进入了AT模式。
    接着就是要设置蓝牙的参数了:
    1)需要设置蓝牙模块的名字,在和手机app连接的时候方便查找,在串口调试助手中发送指令AT+NAME=HC-05,发送指令后,会返回OK,之后你手机app在搜索蓝牙模块的时候就会出现一个名字为HC-05的蓝牙,这个HC-05你也可以改成别的名字。发送指令AT+NAME?:获得设备名称,这个AT指令有很大可能性是没有返回的,因为我也看到了很多的例子……,但是其他的指令都是没有问题的,直接设置设备名称就行了;你还需要发送指令AT+ADDR?,这个指令会返回一个蓝牙地址,因为有时候手机第一次连接蓝牙模块的时候,是没有蓝牙名字的,只有蓝牙地址,所以这个地址可以让你找到你这个蓝牙模块。
    2)需要设置连接蓝牙的密码,在串口调试助手中发送指令AT+PSWD=2019,发送指令后,会返回OK,这样手机在连接蓝牙时,就需要输入密码2019才能连接成功,当然这样密码你也可以改成别的。发送指令AT+PSWD?,会返回这个模块当前的密码。
    3)需要设置蓝牙模块是主模式还是从模式,手机上面的蓝牙一般都是主模式,所以蓝牙模块需要设置成从模式,在串口调试助手中发送指令AT+ROLE=0,0表示从模式,1表示主模式。发送指令后,会返回OK。发送指令AT+ROLE?,会返回这个模块当前的模式是主还是从。
    4)需要设置串口的波特率,在串口调试助手中发送指令AT+UART=9600,0,0,发送指令后,会返回OK。发送指令AT+UART?,会返回这个模块串口参数,串口的参数一共有三个,波特率、停止位、检验位。其取值如下:

    参数名称取值
    波特率24002400、4800、9600、19200、38400、5760、115200、230400、460800、921600、1382400
    停止位0:1位------------------ 1:2位
    校验位0:NONE 1:Odd 2:Even

    其默认值为:9600,0,0。

    手机与蓝牙模块之间的传输

    直接将蓝牙模块与转换模块连接,再将其连接到电脑上,蓝牙模块直接进入自动连接工作模式。
    打开手机蓝牙串口app,连接上面1)中的蓝牙地址,下面给出stm32f103c8t6控制蓝牙模块点亮stm32控制板上面PA.1灯的程序,其主要功能是在手机app上面发送字符1给蓝牙模块,蓝牙模块接收到字符1后就点亮led灯(即PA.1),在接收到字符2后就关闭led灯。
    主程序:

    #include "led.h"
    #include "delay.h"
    #include "key.h"
    #include "sys.h"
    #include "usart.h"
    
    extern u8 res;										//设置外部全局变量
     int main(void)
     {		 
    	int i;
    	char a[]="abcdefg";
    	char b[7]={'1','2','3','4','5','6','7'};
    	delay_init();
    	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
    	uart_init(115200);	 							//串口初始化为115200
    	My_USART2_Init();
     	LED_Init();			     						//LED端口初始化
     	while(1)
    	{
    		if(res=='1')
    		{
    			GPIO_ResetBits(GPIOA,GPIO_Pin_1);		//PA.1指示灯亮
    			delay_ms(500);							//假如要用延时函数,最好就在上面初始化延时函数,不然程序很容易就跑飞
    			for(i=0;i<7;i++)
    			{
    				USART_SendData(USART2, a[i]);			//向串口2发送数据给蓝牙模块
    		while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待发送结束
    			}
    			res=0;
    		}
    		if(res=='2')
    		{
    			GPIO_SetBits(GPIOA,GPIO_Pin_1);			//PA.1指示灯灭
    			res=0;
    		}
    	}	 
     }
    

    手机蓝牙跟蓝牙模块通信时,手机发送的指令经过蓝牙模块发送串口2,让串口2接收,如果利用发送函数让串口2发送数据出来的话,可以在手机app上面接收到数据;利用延时函数时,最好在最开始初始化延时函数delay_init(),不要问为什么,我也不清楚,试过才知道。
    子程序:

    u8 res;  				  //设置全局变量
    void My_USART2_Init(void)  
    {  
        GPIO_InitTypeDef GPIO_InitStrue;  
        USART_InitTypeDef USART_InitStrue;  
        NVIC_InitTypeDef NVIC_InitStrue;  
          
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//GPIO端口使能  
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);//串口端口使能  
          
        GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF_PP;  
        GPIO_InitStrue.GPIO_Pin=GPIO_Pin_2;  
        GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;  
        GPIO_Init(GPIOA,&GPIO_InitStrue);  
          
        GPIO_InitStrue.GPIO_Mode=GPIO_Mode_IN_FLOATING;  
        GPIO_InitStrue.GPIO_Pin=GPIO_Pin_3;  
        GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;  
        GPIO_Init(GPIOA,&GPIO_InitStrue);  
          
        USART_InitStrue.USART_BaudRate=9600;  
        USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None;  
        USART_InitStrue.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;  
        USART_InitStrue.USART_Parity=USART_Parity_No;  
        USART_InitStrue.USART_StopBits=USART_StopBits_1;  
        USART_InitStrue.USART_WordLength=USART_WordLength_8b;  
          
        USART_Init(USART2,&USART_InitStrue);
          
        USART_Cmd(USART2,ENABLE);					//使能串口2  
          
        USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);//开启接收中断  
          
        NVIC_InitStrue.NVIC_IRQChannel=USART2_IRQn;  
        NVIC_InitStrue.NVIC_IRQChannelCmd=ENABLE;  
        NVIC_InitStrue.NVIC_IRQChannelPreemptionPriority=0;  
        NVIC_InitStrue.NVIC_IRQChannelSubPriority=1;  
        NVIC_Init(&NVIC_InitStrue);  
          
    }  
      
    void USART2_IRQHandler(void)  
    {  
    
         if(USART_GetITStatus(USART2,USART_IT_RXNE)!=RESET)  
     {  
         res= USART_ReceiveData(USART2); 	 
    //     USART_SendData(USART2,res);     //串口2发送数据给蓝牙模块接收,也就是手机app接收到的数据
      }  
    }  
    
    void LED_Init(void)
    {
     
     GPIO_InitTypeDef  GPIO_InitStructure;
     	
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);	 //使能PA端口时钟
    	
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;				 //LED-->PA.1 端口配置
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 //推挽输出
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 //IO口速度为50MHz
     GPIO_Init(GPIOA, &GPIO_InitStructure);					 //根据设定参数初始化GPIOA.1
    }
    

    最后附上相关程序:
    stm32f103c8t6控制蓝牙模块点亮LED灯
    代码要的下方留言邮箱我会第一时间发给你们的,有什么问题也可以下面评论!

    展开全文
  • 基于STM32的温湿度检测、电机控制、时间设、RTC时钟等等
  • 蓝牙HC-06模块使用STM32 DMA控制器,使小车在循迹+避障+遥控功能的切换中运行流畅
  • 蓝牙PWM小车 STM32

    2021-01-13 18:26:43
    此例程使用HC05蓝牙模块stm32f103c8t6单片机可实现小车任意幅度的拐弯和加速,倒车,刹车等功能 手机端APP是“蓝牙调试器”(一个巨好用的蓝牙调试软件) 内含例程说明
  • STM32+HC-05蓝牙模块学习与使用

    万次阅读 多人点赞 2021-07-25 13:16:11
    两块HC-05蓝牙模块、一块USB-TTL、STM32F103ZET6。 除此之外,还要准备串口调试助手: XCOMV2.0 在配置蓝牙模块前,需要了解蓝牙模块的调试。 HC-05蓝牙串口通讯模块具有两种工作模式:命令响应工作模式和自动...

    HC-05蓝牙串口通信

    HC05模块是一款高性能主从一体蓝牙串口模块,是一种集成蓝牙功能的PCBA板,用于短距离无线通信,十分方便。
    在这里插入图片描述在这里插入图片描述
    从某宝商家那里可以看到,蓝牙可以使用多种方法使用,这里我使用的是蓝牙主机连接,所以我们这里需要准备的器件:

    两块HC-05蓝牙模块、一块USB-TTL、STM32F103ZET6。

    除此之外,还要准备串口调试助手:

    XCOMV2.0

    在配置蓝牙模块前,需要了解蓝牙模块的调试。

    HC-05蓝牙串口通讯模块具有两种工作模式:命令响应工作模式和自动连接工作模式。在自动连接工作模式下模块又可分为

    主(Master)、从(Slave)和回环(Loopback)三种工作角色。

    当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;
    当模块处于命令响应工作模式时能执行AT命令,用户可向模块发送各种AT 指令,为模块设定控制参数或发布控制命令.

    模块默认为从机,需要通过AT指令切换成主机,在模块中有一个小按键,通过长按按键的放松上电,观察蓝牙上的灯,当灯快闪时,就是自动连接工作模式,当灯慢闪的时候,就进入命令响应工作模式了。

    在这里插入图片描述
    在这里插入图片描述

    进入命令响应工作模式,通过AT命令进行配置

    这里参考博主配置。
    https://blog.csdn.net/seek97/article/details/81333701

    蓝牙1(主机)

    AT+ORGL
    AT+PSWD="123456"
    AT+ROLE=1
    

    蓝牙2(从机)

    AT+ORGL
    AT+PSWD="123456"
    AT+ROLE=0
    AT+ADDR?
    //这里返回了蓝牙2的地址:98d3:35:cd33
    AT+UART=38400,0,0
    //这里返回了蓝牙2的串口波特率:38400,0,0
    

    蓝牙1(主机)

    AT+BIND=98d3,35,cd33
    AT+BIND?
    //这里返回了绑定的地址:98d3:35:cd33
    AT+UART=38400,0,0
    AT+UART?
    //这里返回了蓝牙1的串口波特率:38400,0,0
    AT+CMODE=0
    

    usart.c文件配置

    按照步骤配置好两个蓝牙模块,接着就是STM32串口代码,这里没啥好讲的,这里使用正点原子的代码,注意好波特率就行,使用起来和串口一样。

    #include "sys.h"
    #include "usart.h"
    // 	 
    //如果使用ucos,则包括下面的头文件即可.
    #if SYSTEM_SUPPORT_OS
    #include "includes.h"					//ucos 使用	  
    #endif
    
    //
    //加入以下代码,支持printf函数,而不需要选择use MicroLIB	  
    #if 1
    #pragma import(__use_no_semihosting)             
    //标准库需要的支持函数                 
    struct __FILE 
    { 
    	int handle; 
    
    }; 
    
    FILE __stdout;       
    //定义_sys_exit()以避免使用半主机模式    
    void _sys_exit(int x) 
    { 
    	x = x; 
    } 
    //重定义fputc函数 
    int fputc(int ch, FILE *f)
    {      
    	while((USART1->SR&0X40)==0);//循环发送,直到发送完毕   
        USART1->DR = (u8) ch;
    	return ch;
    }
    #endif 
    
    #if EN_USART1_RX   //如果使能了接收
    //串口1中断服务程序
    //注意,读取USARTx->SR能避免莫名其妙的错误   	
    u8 USART_RX_BUF[USART_REC_LEN];     //接收缓冲,最大USART_REC_LEN个字节.
    //接收状态
    //bit15,	接收完成标志
    //bit14,	接收到0x0d
    //bit13~0,	接收到的有效字节数目
    u16 USART_RX_STA=0;       //接收状态标记	  
    
    void uart1_init(u32 bound){
      //GPIO端口设置
      GPIO_InitTypeDef GPIO_InitStructure;
    	USART_InitTypeDef USART_InitStructure;
    	NVIC_InitTypeDef NVIC_InitStructure;
    	 
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);	//使能USART1,GPIOA时钟
      
    	//USART1_TX   GPIOA.9
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;	//复用推挽输出
      GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9
       
      //USART1_RX	  GPIOA.10初始化
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
      GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10  
    
      //Usart1 NVIC 配置
      NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
    	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;//抢占优先级3
    	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;		//子优先级3
    	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;			//IRQ通道使能
    	NVIC_Init(&NVIC_InitStructure);	//根据指定的参数初始化VIC寄存器
      
       //USART 初始化设置
    
    	USART_InitStructure.USART_BaudRate = bound;//串口波特率
    	USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为8位数据格式
    	USART_InitStructure.USART_StopBits = USART_StopBits_1;//一个停止位
    	USART_InitStructure.USART_Parity = USART_Parity_No;//无奇偶校验位
    	USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制
    	USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;	//收发模式
    
      USART_Init(USART1, &USART_InitStructure); //初始化串口1
      USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//开启串口接受中断
      USART_Cmd(USART1, ENABLE);                    //使能串口1 
    
    }
    void USART1_IRQHandler(void)                	//串口1中断服务程序
    {
    	u8 Res;
    //	static u8 i =0;
    #if SYSTEM_SUPPORT_OS 		//如果SYSTEM_SUPPORT_OS为真,则需要支持OS.
    	OSIntEnter();    
    #endif
    	if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //接收中断(接收到的数据必须是0x0d 0x0a结尾)
    		{
    		 Res =USART_ReceiveData(USART1);	//读取接收到的数据
    //	   USART_SendData(USART1,Res);			
    		if((USART_RX_STA&0x8000)==0)//接收未完成
    			{
    			if(USART_RX_STA&0x4000)//接收到了0x0d
    				{
    				if(Res!=0x0a)USART_RX_STA=0;//接收错误,重新开始
    				else USART_RX_STA|=0x8000;	//接收完成了 
    				}
    			else //还没收到0X0D
    				{	
    				if(Res==0x0d)USART_RX_STA|=0x4000;
    				else
    					{
    					USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
    					USART_RX_STA++;
    					if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//接收数据错误,重新开始接收	  
    					}		 
    				}
    			}   		 
         } 
    #if SYSTEM_SUPPORT_OS 	//如果SYSTEM_SUPPORT_OS为真,则需要支持OS.
    	OSIntExit();  											 
    #endif
    } 
    #endif
    

    usart.h配置

    #ifndef __USART_H
    #define __USART_H
    #include "stdio.h"	
    #include "sys.h" 
    #define USART_REC_LEN  			200  	//定义最大接收字节数 200
    #define EN_USART1_RX 			1		//使能(1)/禁止(0)串口1接收
    	  	
    extern u8  USART_RX_BUF[USART_REC_LEN]; //接收缓冲,最大USART_REC_LEN个字节.末字节为换行符 
    extern u16 USART_RX_STA;         		//接收状态标记	
    
    void uart1_init(u32 bound);
    #endif
    

    main.c配置

    #include "sys.h"
    #include "delay.h"
    #include "usart.h"
    
    int main(void)
    {		
    	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
    	delay_init();	    	 //延时函数初始化
    	uart1_init(38400);   //蓝牙串口波特率初始化为38400
      while(1)
    	{
            if(USART_RX_STA&0x8000)
    		{					   
    			len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
    			printf("\r\n您发送的消息为:\r\n\r\n");
    			for(t=0;t<len;t++)
    			{
    				USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据
    				while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
    			}
    			printf("\r\n\r\n");//插入换行
    			USART_RX_STA=0;
    		}
    	}	 
    } 
    

    在这里插入图片描述
    在这里插入图片描述

    结果

    两个蓝牙上电,观察闪灯情况,两个都进入自动连接工作模式,在电脑端可以看到stm32通过串口传回的数据给电脑端的蓝牙。并且测试了串口中断,也是没有问题的。
    在这里插入图片描述
    参考博客:
    https://yngzmiao.blog.csdn.net/article/details/80368485
    https://blog.csdn.net/seek97/article/details/81333701

    展开全文
  • 本章将会详细讲述蓝牙模块(HC-05)和STM32单片机之间的通信收发的数据如何处理,在测试开始前首先在手机上下载好一个蓝牙调试APP,此APP可以是手机端和PC端口的,以我常用的手机端的为例。 在配置工程之前先了解...
  • MCU:STM32F103 1、通过手机APP发送数据 2、通过手机APP发送指令 指令1:led0 控制led0灯状态的反转 指令2:led1 控制led1灯状态的反转 指令3:beep 控制蜂鸣器的开关 指令4:lcdwrite lcd显示一条标语 手机可接收...
  • 点击设备列表中的“开始搜索按钮”,在设备列表中选择蓝牙模块的名字进行连接。 完成上述工作以后,就可以在手机上通过按下“start”、“left”、“stop”、“right”、“back”通过蓝牙给小车发送“前进”、“左转...
  • .蓝牙模块+stm32.zip

    2021-04-25 20:55:11
    .蓝牙模块+stm32.zip
  • STM32学习】 - JDY-31蓝牙模块
  • STM32F407——蓝牙模块CC2541

    千次阅读 2022-06-07 14:29:27
    STM32F407——蓝牙模块CC2541
  • STM32学习笔记1:STM32ZET6配置蓝牙模块

    千次阅读 热门讨论 2019-10-20 08:54:40
    利用STM32配置一块蓝牙模块 #1.蓝牙模块配置原理
  • stm32蓝牙模块HC-05使用

    万次阅读 多人点赞 2021-01-10 13:31:34
    HC-05蓝牙模块使用教程 HC-05蓝牙模块使用记录 补充与理解: 套餐有两个板子 一个是参数架HC—USB—T,其含有一款芯片stm32f103c8t6,官方利用其内存把它设置成一个u盘,用数据线连接后可进入u盘获取软件 另一个是HC-...
  • 本文使用的蓝牙是市面上常用的HC-05蓝牙模块 其引脚和STM32的连接为 蓝牙模块 单片机 RXD TX TXD RX VCC 5V GND GND STM32Cubemax配置 前面配置时钟树的基础操作就不演示了 配置串口通信,注意波特...
  • STM32F103单片机读写 HC05蓝牙串口模块实验(函数库版)软件例程源码 int main(void) { u8 t; u8 key; u8 sendmask=0; u8 sendcnt=0; u8 sendbuf[20]; u8 reclen=0; delay_init(); //延时函数初始...
  • STM32蓝牙控制循迹避障小车源代码——4.蓝牙控制 注意-所需模块: 蓝牙模块 接线: 串口通信 A2–RX A3–TX 所有的代码都是直接从工程里面复制的,实测是没有问题的。 蓝牙控制原理: 设计手机APP,通过按...
  • STM32——蓝牙模块HC06

    千次阅读 热门讨论 2020-09-21 19:05:54
    STM32——蓝牙模块HC06 选用的芯片是STM32F407的芯片,一个HC06的蓝牙模块。 我们采用串口连接,所以我们在芯片原理图找出串口模块。 参数 STM32串口异步通信定义的参数传送格式 起始位 数据位(8位或者9位) 奇偶...
  • 友友们,HC05蓝牙模块可以直接用杜邦线和stm32f103c8t6最小系统板连接吗
  • 现象展示 参考博客 串口实现HC-05蓝牙模块与手机通信 欲实现功能 手机发送数字0,1来控制板子上LED0,1,的翻转。 1.接收和发送数据 配置串口,并开启DMA。 开启DMA,注意添加宏定义和变量声明。 /* USER CODE BEGIN ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,087
精华内容 1,634
关键字:

stm32蓝牙模块

友情链接: ScreenRecord.rar