嵌入式专栏
文章平均质量分 78
总结各种单片机的使用,介绍各类常用的嵌入式模块,同时汇总部分数据手册
记录无知岁月
热爱学习,热爱记录,热爱生活!
展开
-
【项目实践】Ulike充电牙刷拆解
用了一段时间的充电牙刷,某一次突然没电了,按键也没有反应。无奈只能废弃。最近略微得了些空闲,想着把它拆解看看里面的结构和电路。以下是鼓捣过程记录。原创 2024-06-20 18:51:29 · 468 阅读 · 0 评论 -
【STM32】CubeIDE下载安装使用全记录
作为ST官方主推的集成开发环境(IDE),STM32CubeIDE还是非常好用的,之前一直都是使用Keil开发,甚至HAL库,都是使用Keil开发,但后来发现①图形化界面和代码放到一起真的很方便;②Cube IDE的编辑器比Keil的编辑器好用多了。基于此,果断转向Cube IDE(HAL库)。定位函数的声明和定义是开发过程中十分常用的功能,相比于Keil中需要按快捷键,在STM32CubeIDE中只需要按住Ctrl,再单击鼠标左键即可。如下图所示。原创 2024-06-14 23:44:43 · 3566 阅读 · 0 评论 -
【嵌入式工具】Keil插件 改变文件可读属性
在查找和Keil相关的插件过程中,无意间找到一个是基于bat脚本实现改变文件的可读属性的插件,原文链接。之前因为没有需求所以搁置了,最近心血来潮想着可以研究一下。于是仔细阅读了一下它的代码,发现也不是很复杂,于是在原来基础上迭代了一版。原创 2024-02-23 00:00:04 · 1244 阅读 · 0 评论 -
【嵌入式】常用串口协议与转换芯片详解
最近有点想研究USB协议,正好也看到有评论说对如何选择USB转串口模块有些疑惑,其实我也一直很想写一篇关于串口的总结式的文章,借此契机来完善一下。原创 2023-10-08 11:01:58 · 1615 阅读 · 0 评论 -
【嵌入式】Modbus实践
最近接了一个项目,需要使用Modbus协议,虽然之前有所耳闻,但一直没有实操过,但实践之后发现其实还是很简单的,我认为它本质上就是对串口通信的二次封装原创 2023-04-30 14:57:57 · 924 阅读 · 0 评论 -
【嵌入式】单片机,FPGA,CPLD,PLC,DSP之间的关系与区别
前言 最近在学PLC,联想到此前非常熟悉的单片机,以及有所耳闻的FPGA,CPLD,DSP等名词,于是就想到找到它们之间的区别。下面是找到的比较好的资料。参考资料单片机、ARM、MCU、DSP、FPGA、嵌入式之间都有什么联系一文讲解单片机、ARM、MCU、DSP、FPGA、嵌入式错综复杂的关系!- CSDN单片机与ARM嵌入式,DSP,FPGA的联系与区别 - CSDN单片机,FPGA, 上位机单片机、DSP、PLC、CPLD、FPGA、嵌入式的区别 - 百度文库...原创 2022-02-25 23:08:45 · 2312 阅读 · 0 评论 -
【嵌入式】串行通信协议总结:UART,SPI,IIC,CAN
随着半导体技术的发展,数据传输速度逐渐增加,随之而来的是串行通信基本取代了并行通信,因此,了解常用的串行通信协议对于嵌入式开发来说非常有必要,这里总结一些用过的串行通信协议,重点在于其数据传输时序图。由于看到很多CSDN大佬写的文章非常详细也非常全面,故而本文主要是总结链接,以及总结个人实践经验。简单来说,SPI传输协议就是通过主设备发生时钟,然后交换数据,不同的模式区别只在于数据是什么时候采样,什么时候锁存传输的,但是似乎目前大部分设备这一点都是设定好的,不能修改。起始信号、停止信号、应答信号。。...原创 2022-01-25 14:22:27 · 4222 阅读 · 0 评论 -
【嵌入式】基于MPU6050&Arduino的平衡小车
前言 此前参加了一个平衡小车的比赛,但是很遗憾,最终没有让小车立起来,PID真的不是那么容易调的,其中最为主要的就是那个卡尔曼滤波的算法,因为我发现MPU6050测出的角度滤波之后效果反而变差了,而且最为麻烦的就是数据抖动太过厉害,网上很多资料都说卡尔曼滤波可以让角度变得非常平整,但是我也没有调到那种效果,然后时间也不允许我继续耗在这上面了,于是想记录一些非常经典的资料。需要注意:陀螺仪测出的是角速度,角度值是通过加速度计算出来的!资料汇总Arduino教程:MPU6050的数据获取、分析与原创 2021-08-11 00:22:30 · 2156 阅读 · 0 评论 -
【开源日记】宿舍断电自动关灯设备(一)
一个多月前,再一次早上被灯的光线刺醒之后,我随口吐槽一下学校这断电的骚操作,但是转念一想,为什么我不能做一个断电就自动把开关打下去的装置呢?于是开始了长达一个多月的“低成本开发历程”。 首先分析一下思路:熄灯之后自动把开关打下去,那首先得能检测到光线的变化,也就是需要一个光线传感器。其次是开关拨动的操作,虽然说还可以考虑把开关撬开,然后强行给它接一个继电器然后再去控制啥的,但是一来是不敢动这个线路(难度不大,主要是怕整短路然后被宿管找上门),二来是这方面的继电器选型问题,成本和安全无法保证。所以就采用原创 2022-06-15 15:18:23 · 3752 阅读 · 10 评论 -
【开源日记】宿舍断电自动关灯设备(二)
之前趁着放假有点时间,做了一个断电自动关灯的设备,以期解决宿舍晚上十二点断电之后却没有关掉开关第二天早上被光线刺醒的问题。考虑到使用的STC8G1K08A还具有IIC总线和串口功能,于是增加了OLED扩展接口和WiFi扩展接口,WiFi接口对应的是ESP-01S,这样。(一般晚于0点)给设备上电或给设备插上插座,这样,之后的每天就不用管它了,它都会在熄灯的时候打下开关或在设定的时间点自动关掉开关。于是趁着还有点记忆,赶制了第二版,试图解决这个问题,并实现一些拓展。(当然,目前还没做出来,只是预留了接口)。.原创 2022-07-19 19:14:18 · 1096 阅读 · 0 评论 -
【嵌入式工具】Keil自制格式化插件
上面的前期教程当中,对keil的下载,安装以及配置都讲得非常清楚了,但是最近遇到一个问题,那就是网上找的代码非常杂乱,即使使用AStyle插件对其进行格式化之后,行尾空格或者文件末尾空行仍然消除不掉,让强迫症的我非常不适,因为我非常喜欢VSCode中保存文件即删除行尾空格和文件末空行的设置,于是就想给Keil这个“上古编辑器”也整一个。原创 2023-07-21 13:51:12 · 639 阅读 · 2 评论 -
【嵌入式工具】Keil_C51无法定义局部变量问题【已解决】
前言 此前写了一个C51的程序,在函数中定义了一个局部变量,然后怎么都编译不通过,报错显示我定义的变量没有定义,我一开始以为是我其他部分的程序有问题,但是反复找了半天,都没找到,最后无意间看到一个资源描述下面的几行字,试了一下才真正找到原因所在。问题描述 因为一个函数里面需要用到for循环,然后我定义一个顺序变量j,由于此前的经验,我了解到在Keil_C51里面不能在for循环里面定义变量,因此我选择在外面定义变量,但是仍然报错,显示我定义的j没有定义。问题解决 无意间看到一句话在C++原创 2022-01-24 11:33:22 · 4414 阅读 · 6 评论 -
【嵌入式工具】Keil下载,安装,配置教程大全
作为最常用的单片机程序编辑工具,全球有超过10万的工程师在使用Keil,但初学者很有可能对Keil的各种信息和操作一无所知,我便是其中一员,由于最近看了很多Keil相关的教程,这里想结合自己的实践经验来写一篇汇总式的教程,我觉得几乎包含了在使用Keil的过程中可能出现的各种需求。原创 2021-08-24 16:31:14 · 45641 阅读 · 5 评论