STM32最小系统板与HC-06(手机串口APP控制STM32小灯)

这篇具有很好参考价值的文章主要介绍了STM32最小系统板与HC-06(手机串口APP控制STM32小灯)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

STM32之串口通信 - USART

内容:使用STM32最小系统板和蓝牙模块实现 手机串口助手单片机的通讯。

硬件:STM32F103C8T6,HC-06蓝牙模块

软件:蓝牙串口助手(手机应用商店)

引脚定义:

#define GPIO_TXD GPIO_Pin_9;
#define GPIO_RXD GPIO_Pin_10;

注意:

TX(单片机)-RX(HC-06)

RX(单片机)-DX(HC-06)

hc-06蓝牙模块smt32,单片机,stm32,智能手机,嵌入式硬件

代码:

UART.c文件代码:

1. 打开GPIOA和USART的时钟

2. 配置GPIOA引脚以及USART通信参数 

void UART_Init(void)
{
    //步骤一:
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
	
    //步骤二:
    配置GPIOA引脚
    (TX)
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//复用推挽输出
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
	
    (RX)
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//上拉输入
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure); 
	

    //配置USART参数:
	USART_InitTypeDef UART_InitStructure;
    UART_InitStructure.USART_BaudRate = 9600;  // 设置波特率为9600
    UART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;  //禁用硬件流控制
    UART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;  // 同时支持发送和接收
    UART_InitStructure.USART_Parity = USART_Parity_No;  // 不使用奇偶校验
    UART_InitStructure.USART_StopBits = USART_StopBits_1;  // 设置停止位为1位
    UART_InitStructure.USART_WordLength = USART_WordLength_8b;  // 设置数据位长度为8位
    USART_Init(USART1, &UART_InitStructure);  // 使用上述配置初始化USART1

	USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//函数用于配置 USART 的中断使能状态

    NVIC_Init_1();

    USART_Cmd(USART1,ENABLE);//使能USART1

}

        当USART在接受到数据时,需要触发中断(NVIC),并在中断函数中对接收到的数据进行处理。

3. 中断函数

void NVIC_Init_1(void)
{
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
	
	NVIC_InitTypeDef NVIC_InitStructure;
	NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
	
	NVIC_Init(&NVIC_InitStructure);
}

 串口中断函数:目的是实现

当发送'1'时,LED灯熄灭;

当发送'0'时,LED灯点亮;

void USART1_IRQHandler(void)
{
	u8 RxData;
	if(USART_GetFlagStatus(USART1,USART_IT_RXNE) == SET)// 等待数据接收
	{
		RxData = USART_ReceiveData(USART1);// 读取接收到的数据:把数据存储到RxData
			RxData = Serial_GetRxData();
			if(RxData == '1')
			{
				LED_Control(0);
			}
			if(RxData == '0')
			{
				LED_Control(1);			
			}
        USART_ClearITPendingBit(USART1,USART_IT_RXNE);// 清除标志位
	}
}

led.c文件代码:

这里是直接使用STM32最小系统板上的灯(使能PC13即可点亮)

hc-06蓝牙模块smt32,单片机,stm32,智能手机,嵌入式硬件

#include "stm32f10x.h"                  // Device header
#include "Delay.h"

void LED_Init(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
	
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOC, &GPIO_InitStructure);

}

//LED_Control(0): 灯亮 | LED_Control(1):灯灭
void LED_Control(uint8_t n)                
{
    if(n)
        GPIO_SetBits(GPIOC, GPIO_Pin_13);
    else
        GPIO_ResetBits(GPIOC, GPIO_Pin_13);
}

4.主函数

#include "stm32f10x.h"                  // Device header
#include "UART.h"
#include "LED.h"

uint8_t RxData;

int main(void)
{
	UART_Init();	
	LED_Init();

	while (1)
	{
		
	}
}

程序现象:

蓝牙窜口APP(HC-6)程序现象程序现象https://live.csdn.net/v/310055

2023年7月7日20:37:23

----------------------------------------------------------

2023年9月3日19:16:10

链接:https://pan.baidu.com/s/1BHjNEUnUUpW4Vguooy1mXA 
提取码:1111

----------------------------------------------------------

2024年2月20日

链接:https://pan.baidu.com/s/1JfVN0T02vTSnB2_NsjUnSg 
提取码:0220文章来源地址https://www.toymoban.com/news/detail-833794.html

到了这里,关于STM32最小系统板与HC-06(手机串口APP控制STM32小灯)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HC05蓝牙模块AT指令与手机蓝牙控制STM32板载LED

    本文讲述了HC-05蓝牙模块的配置和其与STM32F103单片机的连接。 代码使用 HAL库函数 编写。 常见的HC-05模块: 通过使用AT指令,我们对蓝牙模块可以进行查看版本号、波特率、配对密码、设置/查询设备名称等多达30多种配置方式。 硬件连接:使用USB转TTL模块连接电脑和蓝牙模块

    2024年02月11日
    浏览(72)
  • 毕业/课程设计——基于STM32的智能灯光控制系统(物联网、智能家居、手机APP控制、语音控制)

            文章 首先介绍本系统所包含的功能 ,主要包含六方面功能, 之后逐步分享开发过程 ,其流程如下:点亮灯带(三极管) → 调节灯光亮度(PWM)→为系统添加远程控制功能→为系统添加语音识别功能→添加超声波姿态监测功能→添加OLED显示功能         特别

    2024年02月03日
    浏览(65)
  • 基于51单片机hc-05,hc-06蓝牙传送数据到手机APP

           通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 1s (自己可设定)传输一批传感器数据      最近在封装一些传感器的程序,在通过蓝牙连接手机调试数据的时候遇到的一点小问题。蓝牙的介绍网上有很多,这里就不说。把51代码丢出来供大家移植。 通过蓝牙发送浮点型、

    2024年02月11日
    浏览(62)
  • 毕业设计——基于STM32的智能家具控制系统(ESP-01S(8266)、手机app远程控制、远程显示温度)

    智能家具系统分为两个不同版本系列: ①系列一:手机app远程控制、远程检测温湿度显示在app,(云平台)    ---------本文章 ②系列二:语音识别控制                https://blog.csdn.net/m0_59113542/article/details/123742383 步进电机及相关驱动 步进电机28BYJ48 uln2003驱动板器4相5线

    2023年04月09日
    浏览(77)
  • 毕业设计——基于STM32单片机的绿植养护系统(物联网、智能家居、手机APP控制、自动监测土壤湿度)

    本工程包括一下功能:1、环境温湿度监测                                     2、土壤湿度监测                                     3、环境可燃气体浓度监测                                     4、RTC万年历功能                                     5、数据

    2024年02月15日
    浏览(92)
  • stm32 之20.HC-06蓝牙模块

    原理图显示使用usart3串口使用的是PB10和PB11引脚  直接配置usart3串口协议 主函数代码

    2024年02月11日
    浏览(52)
  • 7.MIT App inventor 自制手机APP连接阿里云平台 手机APP远程控制STM32设备

    提示:这里是从实际应用如何使用教学配置,未从原理讲解,适合小白从零开始到成功,比较有成就感 STM32+ESP8266(AT固件)连接阿里云物联网系列保姆级教学 1. 创建产品和设备 2. 设置产品Topic数据和功能定义设备物模型数据显示 3. 硬件连接+代码修改 4. Web数据可视化 5.功能

    2024年02月22日
    浏览(61)
  • STM32系列——手把手教你蓝牙模块HC05、HC06的使用,重在“用起来”(HAL库)

    不论是HC05还是HC06,我们用到的都是蓝牙模块的透传功能,只需要用到4个引脚:RXD、TXD、VCC(5V)、GND。 1、HC-05有6个引脚,但是我们只用到4个。 2、HC-05正面有一个按键。与HC-06的区别是, 它上电之前必须要按住此按键再插入电脑中,才能够进入AT模式 。HC-06没有按键,直接

    2024年02月05日
    浏览(80)
  • 基于STM32F103C8T6的HC-06蓝牙通信

    如果朋友们 遇到了如下问题 ,可以仔细借鉴本文章和另一篇专门讲解 蓝牙通信问题 的文章,一定能够解决你在蓝牙通信时遇到的诸多困难 1.在调试蓝牙模块AT指令时无返回值 2.身边 无USB转TTL模块 可以直接调试蓝牙模块(本人就是由于无模块花了了整整一天才调试成功)

    2024年02月03日
    浏览(68)
  • 【正点原子STM32连载】第十三章 串口通信实验 摘自【正点原子】APM32E103最小系统板使用指南

    1)实验平台:正点原子APM32E103最小系统板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban 本章将介绍使用串口进行数据的收发操作,具体实现APM32E103与上位机软件的数据通信,APM32E103将接受

    2024年02月21日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包