- 博客(17)
- 收藏
- 关注
原创 搞定蓝牙-第六篇(HID)
如果只有左ctrl键按下,则返回01 00 00 00 00 00 00 00(十六进制),如果只有数字键1 按下,则返回00 00 59 00 00 00 00 00,如果数字键1 和2 同时按下,则返回00 00 59 5A 00 00 00 00,如果再按下左shift 键,则返回02 00 59 5A 00 00 00 00,然后再释放1 键,则返回02 00 5A 00 00 00 00 00,然后全部按键释放,则返回00 00 00 00 00 00 00 00。从上图也能看出来确实如此。
2023-10-29 21:17:36
1991
原创 搞定蓝牙——第五篇(SMP)
总结一下,SMP是一个给传输数据加密的安全管理协议。分为三大块,配对,秘钥生成,特定秘钥分发。配对其实有两种配对方式,LE legacy pairing和LE Secure Connections,后者更安全,蓝牙4.2以后才有,需要双方都支持这种。鉴权有两大类,OOB和MITM,主要取决于是不是需要人来参与,当然,设备优先使用OOB。在MITM中使用哪种鉴权方式,取决于两个设备是否能输入、是否能显示,具体看下图。
2023-10-28 22:25:17
583
原创 搞定蓝牙——第四章(GATT协议)
GATT是蓝牙协议栈的一种协议,它定义了ble设备数据通讯的方法(设备角色、数据格式、服务发现、安全加密等等),也就是说两个ble设备是通讯的规范就是GATT协议。GAP也是一种协议,但是它是规范通讯之前的广播、连接等。
2023-10-26 22:56:42
2739
原创 ESP32踩坑记1——未定义(undefined reference to)
昨日心血来潮,又开始玩起了我的小板板,本想给他加个屏幕,显示点什么东西,用VScode编译的时候居然提示我没有找到文件这怎么会呢,我明明添加了c文件和h文件,后来折腾了tasks.json和c_cpp_properties.json这两个文件都不行,经过高人一指点,原来是main\CMakeLists.txt这个文件需要添加c文件名和h文件路径,这个CMakeLists.txt文件有好几个,记得是main文件夹(我用的是官方的例程改的)路径下面的那个。好了看图来修改吧折腾了一天,我的屏幕终于点亮了
2021-09-05 09:24:55
7081
5
原创 MOS管应用2-驱动一个MOS管
@[TOC]驱动一个MOS管1 如何驱动一个MOS管1.1 推挽电路直接上菜,这就是大名鼎鼎的推挽电路了,学过单片机的小伙伴们是不是很熟悉,没错就是IO口内部的推挽电路,也叫图腾柱电路,古代部落对于那方面的POWER是有很高的崇拜的,供为图腾柱。这个电路有很厉害的地方,假如输入高电平,那么Q802导通,Q803截止,输出高电平;加入输入低电平,那么Q802截止,Q803导通,输出低电平;由于实际电路从低电平到高电平会有一段中间的状态,假如现在处于中间电压状态,假设是从5V降到1V,那么Q802导通
2020-08-19 22:59:42
2404
1
原创 MOS管应用1-选型
MOS管应用全集1——选型目前对于MOS管的使用原理已经有太多太多很好的参考文章了,但是对于MOS管选型的文章却是少的可怜。MOS参数介绍1、首先我们打开一份datasheet,以SS8050为例子吧。https://html.alldatasheet.com/html-pdf/22392/STMICROELECTRONICS/IRF540/1620/1/IRF540.html这个是ST公司的IRF540型号的MOS管N-CHANNEL说明这是个N沟道的,一般常用N沟道,P沟道和N沟道管子优
2020-08-13 22:41:05
2585
原创 简易扩音机设计1——麦克风篇
项目需求说说我最近做的一个项目,该项目用到了一个类似扩音的功能,就是将声音通过麦克风然后放大再通过有线传输到远处的喇叭。声音采集声音的采集需要用到的是麦克风,将音频信号转换为电信号,有如下几种:1、电容式2、压电式3、动圈式4、电磁式等等等等比较常用的是电容式和动圈式电容式麦克风电容式麦克风由一张很薄的金属板和一张铜板组成,而且金属板带负电荷,铜板带正电荷,相当于一个电容。声音信号会使金属板产生振动,振动频率和振幅就能引起两张板子间距的变化C=(εS)/(4πkd) (1)S:极板
2020-07-26 10:14:28
3695
原创 逻辑分析仪使用——软件篇
@逻辑分析仪使用——软件篇简介目前逻辑分析仪有各式各样的,好的逻辑分析仪贼贵的,成千上万都有,对于我这种垃圾佬来说,只能买那种几十块的山寨货。就是下图这种,当年30块买的。软件选择这种东西的软件很多,有个软件是不能通用的,目前找到一款好的软件,sigrok的,下载链接,看你电脑系统选择下载,我windows-64位系统,所以下载这个软件安装下载完就是这样的然后双击,然后一直nest...
2019-10-08 17:06:33
3388
1
原创 STM32CubeMX和HAL库踩坑记——定时器输出比较模式多路同时启动异常
同一个定时器输出比较模式多路同时启动异常解决方法问题出现之前使用输出比较模式控制步进电机加减速,当多个步进电机同时运行的时候会出现第二个电机无法运行的情况。多次测试,如果第一个电机运动结束再启动第二个电机,那么两个电机都可以正常运动;若在第一个启动后再启动第二个则第二个电机不能运动。问题debug经过调试器的调试,发现启动完第一个电机后定时器状态会变成忙碌,如图所示。所以HAL库会自动...
2019-09-12 17:42:10
3937
2
原创 STM32CubeMX和HAL库踩坑记——DMA+TIM输出比较模式(续集)
-----时隔一日,本次在上一次的代码中加入了一点小技巧。这个项目中有两个电机驱动器设置为6400脉冲一圈,而且电机带了64减速箱,所以需要640064个脉冲才能让电机转一圈,如果按照上一次的做法,让电机转一圈至少需要在单片机开辟640064*2个16位的空间,贼恐怖的内存占用量。----- 但是这两个电机不需要调速,而且速度固定,一个电机为另外一个电机转速的1/2,通过小技巧来修改下程序,最终...
2019-08-07 14:50:03
5789
3
原创 STM32CubeMX和HAL库踩坑记——DMA+TIM输出比较模式
STM32CubeMX和HAL库踩坑记——DMA+TIM输出比较模式1、CubeMX配置1.1 基本设置1.2时钟配置1.3 具体配置2 代码2.1使能2.2调试2.3中断回调函数目的:让单片机输出一段可调频率的脉冲,用于驱动步进电机。方案:1、使用定时器溢出中断,定时中断一次,在中断通过判断来翻转IO口。优点:实现比较简单,对硬件要求不高。缺点:不适合高速脉冲输出,而且脉冲分辨率也很低。...
2019-08-05 15:44:18
21431
23
原创 关于STM32定时器时钟的频率问题
今天用HAL库开发,使用cubemx软件配置时钟,如图所示。看右侧可以知道APB1时钟是42MHZ,APB2时钟是84MHZ,然后需要配置定时器2,通过查看库函数,找到这代码。定时器2是挂载在APB1上的,所以我认为频率应该是42HMZ,然后配置100us中断,500ms使用LED反转,发觉实际LED250ms反转一次,然后查手册,看到这段话。现在APB1的预分频器为4分频,所以APB...
2019-07-17 14:15:43
3844
原创 步进电机加减速——梯形算法
1.声明1、这是我第一篇博客文章,如有错误请各位大佬指点,谢谢。2、该篇文章是适合了解了步进电机基础原理的学习者阅读。2.目的使用要求与场合: 1、步进电机 2、速度变化较大 3、启动停止频繁步进电机加减速算法目的:对于上述2、3的场合,步进电机容易出现丢步和过冲甚至无法启动的现象,所以加入该算法来解决这一问题。3. 算法实现3.1加减速期望曲线...
2019-07-15 12:08:11
28760
16
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人