![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
理论知识
文章平均质量分 85
嵌入式基地
这个作者很懒,什么都没留下…
展开
-
程序员应该具备哪些技能?
程序员应该具备的技能相当广泛,涵盖了技术、沟通、团队协作以及问题解决等多个方面。原创 2024-06-15 15:36:30 · 447 阅读 · 0 评论 -
我说PID算法其实不难,没人反对吧?
看起来PID高大尚,实则我们都是被他的外表所震撼住了。先被别人唬住,后被公式唬住,由于大多数人高数一点都不会或者遗忘,所以再一看公式,简直吓死。了解了很浅的原理后,结果公式看不懂,不懂含义,所以最终没有透彻。我这里先对公式进行剖析,公式理解明白了,结合网上的一些pid讲述的例子,就明白了。先对PID这三个系数的含义进行简单扫盲:P是比例系数,I是积分系数、D是微分系数。原创 2024-05-02 20:03:01 · 531 阅读 · 0 评论 -
系统性自学python
学习资源方面,可以访问Python官方网站,下载并学习官方文档,这是了解Python语言特性和功能的基础。通过实践和项目实战,你可以将所学知识应用到实际中,提升自己的编程能力和解决问题的能力。学习新的库和框架:随着Python生态的不断发展,新的库和框架层出不穷。你可以根据自己的兴趣和需求学习新的库和框架,提升自己的技能水平。你可以根据自己的时间和进度安排学习计划,确保每天都有一定的学习时间和任务。分解学习任务:将Python的学习内容分解为若干个小的任务或模块,每个任务或模块都有具体的学习目标和内容。原创 2024-03-21 14:04:48 · 504 阅读 · 0 评论 -
node.js常用命令看这一篇就够了
Node.js的常用命令涉及多个方面,包括包的安装、管理、版本更新,以及Node.js本身的一些控制台命令等。原创 2024-03-20 21:57:28 · 395 阅读 · 0 评论 -
JavaScript基础知识
掌握了JavaScript的基础语法和DOM操作后,你可以进一步学习一些更高级的概念和技术,如异步编程(Promise、async/await)、模块化(CommonJS、ES6模块)、前端框架(React、Vue、Angular)等。常见的数据类型包括数字(Number)、字符串(String)、布尔值(Boolean)、对象(Object)、数组(Array)等。JavaScript的基础语法与其他编程语言有许多相似之处,包括变量、数据类型、运算符、条件语句和循环语句等。原创 2024-03-09 08:43:57 · 371 阅读 · 0 评论 -
RS485总线典型电路介绍
一、RS485总线介绍:RS485总线是一种常见的串行总线标准,采用平衡发送与差分接收的方式,因此具有抑制共模干扰的能力。在一些要求通信距离为几十米到上千米的时候,RS485总线是一种应用最为广泛的总线。而且在多节点的工作系统中也有着广泛的应用。二、RS485总线典型电路介绍:RS485电路总体上可以分为隔离型与非隔离型。隔离型比非隔离型在抗干扰、系统稳定性等方面都有更出色的表现,但有一些场合也可以用非隔离型。我们就先讲一下非隔离型的典型电路,非隔离型的电路非常简单,只需一个RS485芯片直接与MC原创 2024-03-08 14:45:55 · 1969 阅读 · 0 评论 -
关于软件测试那些事儿
测试用例(Test Case)是为某个特殊目标而编制的 一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。原创 2024-03-07 09:49:42 · 911 阅读 · 0 评论 -
STM32 GPIO工作原理详解
STM32 GPIO介绍1.STM32引脚说明GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。以STM32F103ZET6芯片为例子,该芯片共有144脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同时每组GPIO口组有16个GPIO口。通常简略称为PAx、PBx、PCx、PDx、PEx、PFx、PGx原创 2023-12-18 10:51:04 · 2703 阅读 · 0 评论 -
串口通信知识点总结
串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。原创 2023-12-16 19:44:13 · 921 阅读 · 0 评论 -
Proteus添加新的元件库
1.查找并下载器件在下面这个网址中搜索你需要的器件https://componentsearchengine.com这里我以 AMS1117-3.3 为例点击后会出现以下界面,如果想要接受器件信息改变的通知,可以否选复选框。下载之后解压,找到protues文件夹我这里放入protues的library文件夹下。2.导入器件点击库,选择Import parts选择.pdif后缀文件可以看到已经出现了对应的原理图与封装,然后我们选择Import Part...原创 2023-12-07 19:17:39 · 5441 阅读 · 4 评论 -
一文读懂锁相环基本原理
锁相环电路是使一个特殊系统跟踪另外一个系统,更确切的说是一种输出信号在频率和相位上能够与输入参考信号同步的电路,它是模拟及数模混合电路中的一个基本的而且是非常重要的模块。原创 2022-12-11 17:10:49 · 8556 阅读 · 2 评论 -
单片机、嵌入式的大神都平时浏览什么网站?
单片机、嵌入式的大神都平时浏览什么网站?原创 2022-10-27 20:12:39 · 13948 阅读 · 1 评论 -
CSDN推出【云IDE】,几秒完成开发环境配置,今后可以在浏览器里使用VS Code了
云IDE预制了常见的开发环境,无需下载安装,一键创建项目,灵活配置代码仓和云主机。支持在线安装 VSCode 插件来增强使用体验,支持从基础组件快速构建高阶组件,无需重新编写组件,提高研发效率可随时随地开发编码。能够自动拉取代码、安装依赖、打开预览等等原创 2022-10-25 17:23:34 · 1868 阅读 · 0 评论 -
毕业设计答辩技巧分享
任何毕业论文,无论是文科还是理科都或多或少地涉及到用图表表达论文观点的可能,故我认为应该有此准备。原创 2022-10-17 13:46:55 · 703 阅读 · 0 评论 -
proteus常用元件图示和名称介绍
STM32F103SWITCH 一位开关SW-SPST 一位开关SW-SPDT 两位开关SW-ROT-3(单刀三掷开关)CAP(无极性电容)CAP-ELEC(极性电容)CRYSTAL(晶振)DIODE(二极管)LED-BIBY(发光二极管)DIODE-LED(发光二极管)PHOTODIODE(光敏二极管)RES(电阻)BUTTON(按钮)BUS(总线)..原创 2022-05-29 15:54:08 · 48615 阅读 · 3 评论 -
通俗易懂的I2C协议
I2C总线是一种简单、双向二线制同步串行总线。I2C通讯协议因其引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备等优点,被广泛地使用在系统内多个集成电路(IC)间的通讯。I2C由两根信号线完成信息交换,SCL为时钟信号线,SDA为数据输入/输出线。I2C可支持多从机(Slaver),也可支持多主机模式(Master)。大部分I2C设备支持100kHz和400kHz模式,某些特殊应用也可以通过设计支持到3.4MHz。I2C的简单应用主要包括I2C硬件连接和I2C通信原创 2022-02-13 21:02:10 · 6908 阅读 · 0 评论 -
多核CPU的运行模式详解
1.多核处理器的发展最初,商业化处理器都致力于单核处理器的发展,其性能已经发挥到极致,仅仅提高单核芯片的速度会产生过多热量且无法带来相应性能改善,但CPU性能需求大于CPU发展速度。尽管通过增加流水线可以提高CPU的频率,但是由于缓存的增加与漏电流控制不力的因素,导致功率大幅增加,性能反而不如之前低频率的CPU。由于CPU的功率增加,导致CPU的散热问题也就更加严重,风冷已经不能解决问题了。那么,此使新的技术就出现了:多核处理器。早在1996年就有第一款多核CPU原型Hydra。2001年IBM推出第原创 2022-01-12 21:11:20 · 2621 阅读 · 0 评论 -
嵌入式应用的超轻量级、高性能的 C/C++ 日志库
EasyLogger 是一款超轻量级(ROM;1.6K, RAM;0.3K)、高性能的 C/C++ 日志库,非常适合对资源敏感的软件项目,例如: IoT 产品、可穿戴设备、智能家居等等。相比 log4c、zlog 这些知名的 C/C++ 日志库, EasyLogger 的功能更加简单,提供给用户的接口更少,但上手会很快,更多实用功能支持以插件形式进行动态扩展。原创 2021-12-04 21:08:12 · 3680 阅读 · 0 评论 -
程序员常用刷题网站分享
LeetCodehttps://leetcode-cn.com/特点:题目类型多而且经典牛客网https://www.nowcoder.com/特点:该网站内集成了面试、题库、社群交流、课程教育、招聘内推。该网站内包含了各个公司的面试题与面试经验。在线刷题网站https://www.lintcode.com/特点:在线刷题网站,汇集了各大公司的算法面试题。有阶梯式训练题库,帮你选好应该刷的题目,特别适合小白和懒人。hihocoderhttps://hihocoder.com/C原创 2021-11-22 22:34:19 · 2875 阅读 · 0 评论 -
分享几个适合新手的C/C++开源项目
分享几个适合新手的C/C++开源项目今天主要给大家分享一些github内适合初学者练手的c/c++开源项目。所有项目均提供项目下载地址,无法使用github的读者,也可在公众号内回复:c开源项目 进行获取项目一:C-Plus-Plus项目介绍C-Plus-Plus是收录用 C++ 实现的各种算法的集合,并按照 MIT 许可协议进行授权。这些算法涵盖了计算机科学、数学和统计学、数据科学、机器学习、工程等各种主题。除外,你可能会发现针对同一目标的多个实现使用不同的算法策略和优化。支持环境:M原创 2021-09-28 22:29:38 · 9474 阅读 · 2 评论 -
常用RTOS详细说明
介绍几种嵌入式操作系统 这写操作系统,你用过哪些?鸿蒙OSHarmonyOS是一款面向全场景的开源分布式操作系统,是华为自主研发的操作系统。鸿蒙OS实现模块化耦合,可应用在不同的设备上。鸿蒙OS架构分为三层:第一层是内核第二层是基础服务第三层是程序框架 。鸿蒙OS底层三部分组成:鸿蒙微内核Linux内核Lite OS组成鸿蒙OS针对所有的用户,都提供了便利性:消费者:鸿蒙OS能够将生活场景中的各类终端进行能力整合,可以实现不同的终端设备之间的快速连接、能力互助、资源共享原创 2021-09-22 19:51:02 · 6233 阅读 · 0 评论 -
电路基础知识总结
5个G的计算机,电子专业书籍分享。链接:https://pan.baidu.com/s/1y8BnUlGmiJMujLlTyrhznA提取码:j9na。原创 2021-09-13 21:24:30 · 1183 阅读 · 0 评论 -
电子专业常用软件介绍
要想了解电子工程专业用得比较多的软件有哪些,首先我们得了解一下电子工程专业相关的一些技术与行业应用分类。电子工程又称“弱电技术”或“信息技术”,其大致分类及起源学科如图所示。电子工程的应用形式涵盖了电动设备以及运用了控制技术、测量技术、调整技术、计算机技术,直至信息技术的各种电动开关。电子工程的主要研究领域为电路与系统、通信、电磁场与微波技术以及数字信号处理等。电子工程相关的职业一般分为硬件工程师和软件工程师。而电子工程师是一个对从事集成电路、电子电气设备等相关产品生产、研发工作的技术人员的统称。硬原创 2021-09-05 19:21:17 · 1641 阅读 · 0 评论 -
半桥与全桥的优缺点
半桥逆变式功率转换主电路的形式如下图所示通过时序电路分析两个开关管交替通断时的开关管耐压和变压器原边电压,可知开关管所需耐压为Vdc,变压器原边电压为±1/2Vdc。工作波形如下:全桥逆变功率转换主电路与板桥电路的区别就是,用另外两个同样的开关管代替两只电容,即由4 只开关管组成逆变开关电路,同样分析时序电路,可得开关管所需耐压为Vdc,变压器原边电压为±Vdc。如下图所示:了解了两种电路的特性和工作原理,就可以比较其优缺点了。首先,从电路图上可以很方便的看出一点明显的区别,就是开关管的数量不同:原创 2021-08-08 19:24:11 · 26449 阅读 · 0 评论 -
C语言实现LRU缓存策略
今天主要给大家分享下基于C语言实现的LRU缓存淘汰算法。缓存,是一种提高数据读取性能的技术,不论是在硬件,还是软件设计中都会被广泛的应用。在软件设计中,缓存的大小总是有限的。当缓存被使用完时,就需要对数据进行清理。在清理数据时,经常会使用到缓存淘汰策略来决定清理哪些不需要的数据。常见的策略有下面三种:先进先出策略FIFO最少使用策略LFU最近最少使用策略LRU一般采用链表实现LRU,基本的思路如下首先需要在缓存中维护一个双向链表,链表中的数据按照访问的时间从新到旧排列。当有一个数据被原创 2021-07-19 20:50:28 · 868 阅读 · 3 评论 -
快速掌握算法复杂度分析
本人计划新开一个新的专栏,关于数据结构与算法。数据结构与算法对于我们每一位程序员都是极其重要的,这也是我想开这个专栏的原因。在数据结构与算法的学习过程中,如果只学会了其特点,用法,而并没有掌握算法复杂度的分析,那就相当于只学会了皮毛,而没有掌握其灵魂。由于算法复杂度的分析较为重要,该部分会分为两篇文章:今天会介绍怎么分析算法复杂度,以及常见的复杂度分析。首先会教大家怎么去***分析算法复杂度***,算法复杂度主要有两类:时间复杂度空间复杂度算符复杂度的表示一般采用***大O复杂度表示法**原创 2021-07-12 21:20:27 · 199 阅读 · 1 评论 -
旁路电容与去耦电容,傻傻分不清
首先了解以下几个概念:耦合,有联系的意思。耦合元件,尤其是指使输入输出产生联系的元件。去耦合元件,指消除信号联系的元件。去耦合电容简称去耦电容。从电路来说,总是存在驱动的源和被驱动的负载。如果负载电容比较大,驱动电路要把电容充电、放电,才能完成信号的跳变,在上升沿比较陡峭的时候,电流比较大,这样驱动的电流就会吸收很大的电源电流,由于电路中的电感,电阻(特别是芯片管脚上的电感,会产生反弹),这种电流相对于正常情况来说实际上就是一种噪声,会影响前级的正常工作。这就是***耦合***。晶体管放大器原创 2021-07-11 08:13:05 · 425 阅读 · 0 评论 -
C语言的头文件包含,竟有这么多知识点。
很多事不深入以为自己懂了,但真正用到项目上,才会发现其中的问题。曾以为自己写C语言已经轻车熟路了,特别是对软件文件的工程管理上,因为心里对自己的代码编写风格还是有自信的。本人曾经认为,一个.c文件对应一个.h文件,.c文件只包含它自身的.h文件就好,若.c文件中用到其他文件中的内容,则.h文件把用到的头文件包含进来就可以了。这种思想在项目代码量小,工程文件少时貌似看不出问题,但随着工程文件数量越来越多,我发现了这种思想存在弊端:头文件互相包含,导致编译时自以为有些宏变量声明了,它就能起作用,但实际测试发原创 2021-06-28 22:19:54 · 1221 阅读 · 18 评论 -
嵌入式学习资料网站分享
bilibili众所周知,b站是个学习的视频网站,里面也有很多嵌入式相关的视频教程https://www.bilibili.com/github,gitee全球最大的代码托管平台,上面包含着丰富的学习资源,有趣的DIY项目https://github.com/国内也可以使用gitee提高github的下载速度https://gitee.com/菜鸟教程https://www.runoob.com/arm官网https://www.arm.com/NXP官网http原创 2021-06-23 20:55:28 · 987 阅读 · 1 评论 -
电子设计中常用的运放电路
关注v-x-公-众-号:【嵌入式基地】后-台-回-复:【电赛】 即可获资料回复【编程】即可获取包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料原文链接 点击查看5个G的计算机,电子专业书籍分享。链接:https://pan.baidu.com/s/1y8BnUlGmiJMujLlTyrhznA提取码:j9na文章目录反向放大器同向放大器加法器1加法器2减法器积原创 2021-06-16 22:14:46 · 2593 阅读 · 11 评论 -
电赛中常用的模块电路设计
关注v-x-公-众-号:【嵌入式基地】后-台-回-复:【电赛】 即可获资料回复【编程】即可获取包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料原文链接 点击查看波形发生器方波发生电路该电路用于产生占空比为1/3,频率为38KHZ的方波。该电路将555定时器的2脚与6脚接在一起,构成施密特触发器。施密特触发器的电压传输特性是反相的。电阻R4和电容C2构成一个R原创 2021-06-15 22:05:38 · 16181 阅读 · 21 评论 -
模电必会知识点
关注v-x-公-众-号:【嵌入式基地】后-台-回-复:【电赛】 即可获资料回复【编程】即可获取包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料原文链接 点击查看5个G的计算机,电子专业书籍分享。链接:https://pan.baidu.com/s/1y8BnUlGmiJMujLlTyrhznA提取码:j9na1、半导体材料制作电子器件与传统的真空电子器件相比有原创 2021-06-12 08:13:00 · 1440 阅读 · 4 评论 -
C语言可变参数表的使用
关注v-x-公-众-号:【嵌入式基地】后-台-回-复:【电赛】 即可获资料回复【编程】即可获取包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料原文链接 点击查看可变参数表介绍c/c++语言具备一个不同于其他编程语言的的特性,即支持可变参数,例如C库中的printf,scanf等函数,都支持输入数量不定的参数。例如:printf("hello world");原创 2021-06-06 10:12:13 · 499 阅读 · 5 评论 -
C语言熟练操作内存
关注v-x-公-众-号:【嵌入式基地】后-台-回-复:【电赛】 即可获资料回复【编程】即可获取包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料原文链接 点击查看嵌入式编程之内存操作数据指针在嵌入式系统编程中,经常会对特定的内存单元进行读写操作。在汇编中有对应的MOV指令,而在C/C++以及其他高级语言中基本没有直接操作绝对地址的能力。而在嵌入式系统的实际开发调试原创 2021-05-26 21:44:02 · 171 阅读 · 1 评论 -
深入探索C语言struct的用法
struct的作用一般来说,区别一个开发人员是否具备丰富开发经历的标志在于其会不会使用struct,怎么使用strcut在网络协议、通信控制、嵌入式系统的编程中,我们经常要传送的不是简单的字节流(char型数组),而是多种数据组合起来的一个整体,其表现形式是一个结构体。初级的开发人员往往将所有需要传送的内容依顺序保存在char 型数组中,通过指针偏移的方法传送网络报文等信息。这样做编程复杂,易出错,而且一旦控制方式及通信协议有所变化,程序就要进行非常细致的修改。一个有经验的开发者则灵活运用结构体,举原创 2021-05-23 09:28:14 · 1513 阅读 · 19 评论 -
C程序运行对应的内存分布关系
关注v-x-公-众-号:【嵌入式基地】后-台-回-复:【电赛】 即可获资料回复【编程】即可获取包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料原文链接 点击查看程序运行时的内存分区主要分为BSS段、数据段、代码段、堆、栈。BSS段:Block Started by Symbol,一般是指存放程序中未初始化的全局变量的一块内存区域。BSS段属于静态内存分配。原创 2021-05-03 20:47:57 · 778 阅读 · 16 评论 -
Linux内核在arm上的启动过程
Linux内核加载过程通常,Linux内核都是经过gzip加载过之后的映像文件。bootloader复制压缩内核到内存空间。内核自解压。运行内核。编译完成的Linux内核存放在哪里?./vmlinux elf格式未压缩内核。arch/arm/boot/compressed/vmlinux 压缩以后的elf格式内核。arch/arm/boot/zImage 压缩内核。压缩内核(zImage)的入口/arch/arm/boot/compressed/vmlin原创 2021-04-24 22:39:32 · 2354 阅读 · 10 评论 -
三极管在开关电路
关注v-x-公-众-号:【嵌入式基地】后-台-回-复:【电赛】 即可获资料回复【编程】即可获取包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料原文地址三极管在开关电路1 三极管开关电路的分析设计2 三极管开关与机械式开关的比较3 三极管开关的测试3.1 基本三极管开关之改进电路3.1.1 加速电容器3.1.2 图腾式开关3.2 三极管开关之应用3.2.1 驱动指示3.2原创 2021-04-07 21:25:56 · 1015 阅读 · 0 评论 -
keil工程导入vscode
关注v-x-公-众-号:【嵌入式基地】后-台-回-复:【电赛】 即可获资料回复【编程】即可获取包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料原文地址目录本文主要以STM32工程为例来演示该插件的使用VSCode安装插件1.安装c/c++2.安装Embedded IDE3. 设置编译工具路径4. 配置项目的编译器选项5. 构建工程6. 烧录安装JLink该款插件支持8原创 2021-03-10 22:27:39 · 1896 阅读 · 0 评论 -
嵌入式面试题
可以包含其头文件,也可使用关键字extern。引用头文件:通过引用头文件的方式来引用某个头文件中声明的变量,假如将该变量写错了,在编译阶段会报错。extern:通过extern的方式引用,若将变量写错,编译阶段编译器不会报错,在链接阶段会进行报错提示。可以。在不同的C文件中以static的形式来声明同名全局变量。可以在不同的C文件中声明同名的全局变量,前提是只能在一个C文件中对变量赋初值,此时链接不会报错。............原创 2021-03-01 20:57:11 · 1800 阅读 · 0 评论