PID算法:过程控制中的重要指标 PID算法:过程控制中的重要指标
PID算法广泛的被应用在很多的控制系统中,最终的目的都是希望通过pid控制器实现被控量能稳定在预期的目标值。使用pid控制器作用于系统的时候,正常情况下它应该是不断的发生作用的,从而让系统能够克服外部带来的干扰最终稳定在期望值。所以对于在一
2023-07-03
如何减轻CPU负担 如何减轻CPU负担
「CPU运行时间是宝贵的资源,我们要把有限的CPU时间投入到更有意义的事情中去。」 在我们进行嵌入式开发的过程中,你一定干过这几件事:用GPIO模拟某种通信接口,比如SPI等;用空循环来实现延时delay;空等寄存器的关键状态位。也许是出
2023-07-02
嵌入式中实现应用层和硬件层分层管理 嵌入式中实现应用层和硬件层分层管理
前言以STM32为例,打开网络上下载的例程或者是购买开发板自带的例程,都会发现应用层中会有stm32f10x.h或者stm32f10x_gpio.h,这些文件严格来时属于硬件层的,如果软件层出现这些文件会显得很乱。使用过Linux的童鞋们肯
2023-07-01
用三种优雅的方式实现嵌入式状态机 用三种优雅的方式实现嵌入式状态机
状态机的实现无非就是三个要素:状态、事件、响应。 转换成具体的行为,其实就三句话: 发生了什么事? 现在系统处在什么状态? 在这样的状态下发生了这样的事,系统要干什么? 用C语言实现状态机,主要有三种方法:switch—case 法、表
2023-07-01
GD32F30x的串口不定长DMA接收和发送史诗级例子 GD32F30x的串口不定长DMA接收和发送史诗级例子
虽然串口是单片机最常用的一种外设,今天就由我来给大家展示一个最好用的串口接收发送例子解说吧。DMA不定长接收和DMA发送。GD32单片机自带串口发送接收有三种方式,下面就简单介绍一下三种处理数据的方式: 轮询方式(Polling):使用轮
2023-06-30
如何实现 MCU软件中多个模块初始化函数的优雅调用 如何实现 MCU软件中多个模块初始化函数的优雅调用
序言 做嵌入式开发的需要把需要把板载的每一个外围设备都进行初始化,有时候我们为了代码的可读性、易移植性会把每个模块单独封装,使用不同的.c和.h文件进行管理,在模块对应的.h文件中会把向外开放的API接口申明出来,方便上层调用,其中模块的初
2023-06-29
必看深度:震惊世间的惊人“神码”!(附完整代码) 必看深度:震惊世间的惊人“神码”!(附完整代码)
一战封神的 0x5f375a86雷神之锤3是一款九十年代非常经典的游戏,内容画面都相当不错,作者是大名鼎鼎的约翰卡马克。由于当时游戏背景原因,如果想要高效运行游戏优化必须做的非常好,否则普通人的配置性能根本不够用,在这个背景下就诞生了“快速
2023-06-02
PID到底是个啥?来给你讲个故事 PID到底是个啥?来给你讲个故事
啥是PID?PID,就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种很常见的控制算法。PID已经有107年的历史了。它并不是什么很神圣的东西,大家一定都见过PID的实际应用。比如四轴飞
2023-06-02
FOC控制算法详解 FOC控制算法详解
基本概念: FOC(field-oriented control)为磁场导向控制,又称为矢量控制(vector control),是一种利用变频器(VFD)控制三相电机的技术,利用调整变频器的输出频率、输出电压的大小及角度,来控制电机的输出
2023-06-02
CSS样式表 CSS样式表
CSS,font-family,好看常用的中文字体 例1(小米米官网): font-family: "Arial","Microsoft YaHei","黑体","宋体&
2023-06-01
Flex 布局教程:语法篇 Flex 布局教程:语法篇
网页布局(layout)是 CSS 的一个重点应用。 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C
2023-06-01
P2P之UDP穿透NAT的原理与实现 P2P之UDP穿透NAT的原理与实现
日期:2004-5-25出处:P2P中国(PPcn.net)作者:shootingstars (有容乃大,无欲则刚) 论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说
2023-06-01
NAT穿透技术、穿透原理和方法详解 NAT穿透技术、穿透原理和方法详解
NAT分类 穿透流程图 推荐视频P2P技术—NAT原理,NAT类型,网络穿透原理 从50道腾讯面试题,分析腾讯c++后端工程的技能树 学习地址:C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 基础型NAT仅将
2023-06-01
VSCode搭建STM32开发环境 VSCode搭建STM32开发环境
玩过单片机的都知道,Keil是一款收费软件,虽然有相应的方法可以正常使用,但还是少不了很多麻烦,并且keil的界面对于我们开发者来说非常不友好。那么这时VSCode的出现就很好的解决了这一问题。今天我们就来使用VSCode搭建STM32的开
2023-06-01
Git命令汇总 Git命令汇总
Git目前是各大互联网公司使用的版本控制工具,进大厂,必须要学会Git的基本使用。于是乎,我熬夜整理了这篇文章。这篇文章主要是汇总讲解Git的使用命令。 Git的安装通过 https://git-scm.com/downloads ,gi
2023-06-01
CAN通信基础知识 CAN通信基础知识
CAN是什么?CAN 是 Controller Area Network 的缩写,中文是控制器局域网路,是 ISO 国际标准化的串行通信协议之一。CAN: 控制器局域网( Controller Area Network)属于现场总线的范畴,
2023-06-01
MarkDown 官方教程 MarkDown 官方教程
Markdown 基本语法Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及本身的 .md 格式的文件。因简洁、高效、易
2023-05-09
MarkDown 辅助工具 MarkDown 辅助工具
在线工具HTML/URL To Markdownhttps://devtool.tech/html-md WEBP到GIF转换器https://convertio.co/zh/webp-gif/ MP4 to GIFhttps://conv
2023-05-09
Hexo搭建个人博客 Hexo搭建个人博客
HexoHexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。hexo官网: http://hexo.iohexo文档: https://hexo.
2023-05-08