stm32 之20.HC-06蓝牙模块

原理图显示使用usart3串口使用的是PB10和PB11引脚

 直接配置usart3串口协议

void usart3_init(uint32_t baud)
{GPIO_InitTypeDef GPIO_InitStructureure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;//端口B硬件时钟打开RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);//串口3硬件时钟打开RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);//配置PA9 PA10为AF模式(复用功能)GPIO_InitStructureure.GPIO_Pin   = GPIO_Pin_11 | GPIO_Pin_10 ; 	//9 10号引脚GPIO_InitStructureure.GPIO_Mode  = GPIO_Mode_AF;//输出模式第三种模式AF模式GPIO_InitStructureure.GPIO_OType = GPIO_OType_PP;//推挽输出GPIO_InitStructureure.GPIO_Speed = GPIO_High_Speed;//高速,速度越高,响应越快,但是功耗会更高GPIO_InitStructureure.GPIO_PuPd  = GPIO_PuPd_NOPULL;//不使能上下拉电阻GPIO_Init(GPIOB,&GPIO_InitStructureure);//由于引脚支持很多功能,需要指定该引脚的功能,当前要制定支持USART1GPIO_PinAFConfig(GPIOB,GPIO_PinSource11,GPIO_AF_USART3);GPIO_PinAFConfig(GPIOB,GPIO_PinSource10,GPIO_AF_USART3);//配置USART1相关参数:波特率,数据位,停止位,校验位USART_InitStructure.USART_BaudRate = baud;   //波特率,就是通信的速度USART_InitStructure.USART_WordLength = USART_WordLength_8b; //8位数据位USART_InitStructure.USART_StopBits = USART_StopBits_1;  //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(USART3, &USART_InitStructure);//配置中断触发方式,接收到一个字节,就通知CPU处理USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//NVIC配置其优先级NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;  //中断号NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;   //抢占优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;      //响应优先级NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;    //打开通道给NVIC管理NVIC_Init(&NVIC_InitStructure);//使能USART1工作USART_Cmd(USART3, ENABLE);}

主函数代码

//通过usart3串口发送数据给pc端
void usart3_send_str(char *str)
{char *p = str;while(*p!='\0'){/* 发送一个字节 */USART_SendData(USART3,*p);/* 等待发送完毕 */while(USART_GetFlagStatus(USART3,USART_FLAG_TXE) == RESET);p++;}}int main(void)
{NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//抢占优先级0~3,支持4级!//响应优先级0~3,支持4级!key_init();Led_init();usart1_init(115200);usart3_init(9600);usart3_send_str("AT+NAMETWen\r\n");while(1){}
}void USART3_IRQHandler(void)
{uint8_t d;if(USART_GetITStatus(USART3,USART_IT_RXNE) == SET){d = USART_ReceiveData(USART3);if(d == '1')PFout(10)=0;if(d == 'a')PFout(10)=1;/* 发送一个字节 */USART_SendData(USART1,d);/* 等待发送完毕 */while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET);/* 告诉CPU,已经完成接收中断请求,可以响应新的接收中断请求 */USART_ClearITPendingBit(USART3,USART_IT_RXNE);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/51423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何通过tomcat下载映射下载文件

1.1找到tomcat服务器中server.xml文件 !--doBase是静态资源路径位置&#xff0c; path作用相当于设置的key, doBase作用相当于value --> <Context path"/download" docBase"E:\testBackData"></Context>1.2 找到tomcat服务器中web.xml文…

❤ Vue使用Eslint检测报错问题和解决

❤ Vue使用Eslint检测报错问题和解决 1、 关闭Eslint检测 关闭ESLint语法检测即可&#xff1a;具体步骤如下&#xff1a; 第一步我们打开setting设置&#xff1a; 打开左上角的file&#xff0c;然后点击setting 接下来进入setting以后我们来看下面操作&#xff1a; eol-l…

LAMP架构介绍配置命令讲解

LAMP架构介绍配置命令讲解 一、LAMP架构介绍1.1概述1.2LAMP各组件的主要作用1.3各组件的安装顺序 二、编译安装Apache httpd服务---命令讲解1、关闭防火墙&#xff0c;将安装Apache所需的软件包传到/opt/目录下2、安装环境依赖包3、配置软件模块4、编译安装5、优化配置文件路径…

鼠标拖拽盒子移动

目录 需求思路代码页面展示【补充】纯js实现 需求 浮动的盒子添加鼠标拖拽功能 思路 给需要拖动的盒子添加鼠标按下事件鼠标按下后获取鼠标点击位置与盒子边缘的距离给 document 添加鼠标移动事件鼠标移动过程中&#xff0c;将盒子的位置进行重新定位侦听 document 鼠标弹起&a…

iOS开发Swift-集合类型

集合基本类型&#xff1a;数组 Array (有序)&#xff0c; 集合 Set (无序不重复)&#xff0c; 字典 Dictionary (无序键值对) 1.数组 Arrays (1)数组的表示 Array<Element> [Element](2)创建空数组 var someInts: [Int] [] someInts.count //数组长度(3)带值数组 var…

Grounded Language-Image Pre-training论文笔记

Title&#xff1a;Grounded Language-Image Pre-training Code 文章目录 1. 背景2. 方法&#xff08;1&#xff09;Unified Formulation传统目标检测grounding目标检测 &#xff08;2&#xff09;Language-Aware Deep Fusion&#xff08;3&#xff09;Pre-training with Scala…

【linux】基本指令(二)【man、echo、cat、cp】

目录 一、man指令二、echo指令三、cat指令二、cp指令一些常见快捷键 一、man指令 Linux的命令有很多参数&#xff0c;我们不可能全记住&#xff0c;可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man 语法: man [选项] 命令 常用选项 1.-k 根据关键字搜索联机帮助 2…

基于 SVG 的图形交互方案实践

不知道从什么时候起&#xff0c;人们开始喜欢上数字大屏这种“花里胡哨”的东西&#xff0c;仿佛只要用上“科技蓝”这样神奇的色调&#xff0c;就可以让一家公司焕然一新&#xff0c;瞬间变得科技感满满。不管数字大屏的实际意义&#xff0c;是用来帮助企业监控和决策&#xf…

Linux网络编程:线程池并发服务器 _UDP客户端和服务器_本地和网络套接字

文章目录&#xff1a; 一&#xff1a;线程池模块分析 threadpool.c 二&#xff1a;UDP通信 1.TCP通信和UDP通信各自的优缺点 2.UDP实现的C/S模型 server.c client.c 三&#xff1a;套接字 1.本地套接字 2.本地套 和 网络套对比 server.c client.c 一&#xff1a;线…

electron软件安装时,默认选择为全部用户安装

后续可能会用electron开发一些工具&#xff0c;包括不限于快速生成个人小程序、开发辅助学习的交互式软件、帮助运维同学一键部署的简易版CICD工具等等。 开发进度&#xff0c;取决于我懒惰的程度。 不过不嫌弃的同学还是可以先关注一波小程序&#xff0c;真的发布工具了&…

每日一学——防火墙

防火墙是网络安全的重要组成部分&#xff0c;可以帮助保护网络免受恶意攻击和未经授权的访问。以下是防火墙的基本配置步骤&#xff1a; 定义安全策略&#xff1a;防火墙通过安全策略来决定允许或拒绝网络流量。你需要定义适当的安全策略来保护你的网络。安全策略通常包括源IP地…

微软宣布在 Excel 中使用 Python:结合了 Python 的强大功能和 Excel 的灵活性。

自诞生以来&#xff0c;Microsoft Excel 改变了人们组织、分析和可视化数据的方式&#xff0c;为每天使用它的数百万人提供了决策基础。今天&#xff0c;我们宣布发布 Excel 中的 Python 公共预览版&#xff0c;从而使 Excel 中的分析功能取得重大进展。 Excel 中的 Python 可…

基于springboot+vue的考研资讯平台(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

vue-pc端禁止用户选中文字-右键-复制

前言 pc端开发中我们经常会遇见一些页面&#xff0c;会因为刷新&#xff0c;渲染&#xff0c;卡顿出现文字选中效果 或者一些敏感的页面我们不希望用户复制&#xff0c;选中&#xff0c;页面的文字信息&#xff0c;比如考试&#xff0c;敏感信息 其实这些也是可以通过代码控制…

【洛谷】P1873 [COCI2011-2012#5] EKO / 砍树

原题链接&#xff1a;https://www.luogu.com.cn/problem/P1873 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 二分答案。 3. 代码实现 #include<bits/stdc.h> using namespace std; #define ll long long const int N 1e6 10; int a[N], …

系统学习Linux-LVS集群

集群概述 负载均衡技术类型 四层负载均衡器 也称为 4 层交换机&#xff0c;主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡&#xff0c;如常见的 LVS、F5 等&#xff1b; 七层负载均衡器 也称为 7 层交换机&#xff0c;位于 OSI 的最高层&#xff0c;即…

前端面试:【系统设计与架构】组件化、模块化、微前端的现代前端架构演进

前端架构和设计一直在不断演进&#xff0c;以满足不断变化的需求和应对日益复杂的前端应用程序。在本文中&#xff0c;我们将探讨三个重要的现代前端架构概念&#xff1a;组件化、模块化和微前端&#xff0c;以及它们在构建可维护、可扩展的前端应用程序中的作用。 1. 组件化&a…

LeetCode:53. 最大子数组和 - Python

53. 最大子数组和 问题描述&#xff1a; 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a;nums [-…

数据库表结构导出为word、html、markdown【转载,已解决,已验证,开源】

注&#xff1a;本文为gitcode代码验证&#xff0c;转载gitcode gitcode&#xff1a;https://gitcode.net/mirrors/pingfangushi/screw?utm_sourcecsdn_github_accelerator 整理数据库文档&#xff1a;https://mp.weixin.qq.com/s/Bo_U5_cl82hfQ6GmRs2vtA <!--数据库文档核…

LVS+Keepalived群集

目录 1、keepalived概述及其功能 2、keepalived体系主要模块及其作用 3、VRRP通信原理和keepalived工作原理 4、LVSKeepalived 高可用群集实验部署 1、keepalived概述及其功能 故障自动切换failover 实现lvs群集中节点健康检查 节点服务器的高可用性 keepalived软件就…