单片机技术网|技术阅读
登录|注册

您现在的位置是:单片机技术网 > 技术阅读

技术阅读

  • 程序设计原则-开闭原则

    2023-09-23

    点击上方蓝色字体了解更多的嵌入式编程实用技能。如果你觉得该文章对你有帮助,欢迎点赞+关注 前言 软件开发设计中最大的难题就是应对需求的变化,而各种各样的需求变化又是不可预料的,我们要为这种不可预料的变化做好准备,这本身是一件十分痛苦的事情,通常涉及到功能的变更、扩展和删除等,所幸前辈们已经给我们提出了经典的六大设计原则和23种设计模式来“封装”未来的变化。在程序设计领域, SOLID(单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期引入的记忆术首字母缩略字,指代了面向对象编程和面向...

  • C语言参数管理代码框架

    2023-09-23

    点击上方蓝色字体了解更多的嵌入式编程实用技能。如果你觉得该文章对你有帮助,欢迎点赞+关注 前言 作为嵌入式的软件开发工程师,基本都会对参数的概念都不会陌生。很多功能使用的变量都需要在程序运行过程中改变,掉电重启后还需要恢复原来的状态,就需要这些变量能够保存起来,写入flash或eeprom等储存芯片中,待程序重新运行时读取,这部分保存起来的变量通常称为参数。参数可区分功能性配置、性能配置和软件内部实现;功能性配置和性能配置参数是指给提供客户关闭功能,配置性能的配置。软件内部实现的参数配置,一般用于研发内部客户或维护部门...

  • 如何实现对多个字节的数据 序列化+压缩

    2023-09-23

    点击上方蓝色字体了解更多的嵌入式编程实用技能。如果你觉得该文章对你有帮助,欢迎点赞+关注 前言 经常接触数据通信的朋友应该对数据的“序列化”和“反序列化”有所了解,用与可以跨平台存储,和进行网络传输。序列化:把对象转化为可传输的字节序列过程称为序列化。反序列化:把字节序列还原为对象的过程称为反序列化。如果光看定义很难一下子理解序列化的意义,那么我们可以从另一个角度来推导出什么是序列化, 那么究竟序列化的目的是什么?通常我们定义的传输协议也可以勉强算作是一种将数据序列化的操作,目的是为了能让接收方正常接收解析出来...

  • 关于chatGPT使用体验和方式

    2023-09-23

    点击上方蓝色字体了解更多的嵌入式编程实用技能。如果你觉得该文章对你有帮助,欢迎点赞+关注前言最近网上热议的chatGPT也出来了很长一段时间了,chatGPT4.0目前也已经可以使用了,相比chatGPT3.5强上很多,chatGPT是什么呢?下面是它自己的介绍。我是ChatGPT,是一种基于自然语言处理和深度学习技术的人工智能模型。我被训练出来可以自动生成自然语言,并通过对话和交互不断学习、提高自己的能力。我可以应用在各种场景中,例如智能客服、人机对话、文本生成和理解等。我的技术背后依赖于神经网络和自然语言处理的算法和模型,这些算法和模型能够让...

  • C语言扩展库+结构体序列化

    2023-09-23

    点击上方蓝色字体了解更多的嵌入式编程实用技能。如果你觉得该文章对你有帮助,欢迎点赞+关注 前言 编程多年,想必或多或少的都会有自己的扩展库或功能库,以便快速开发功能。使用多年的扩展库或功能库经过了长时间的验证,或者随着开发时间和接触面不断地增长,原有的实现方式不满足现有的需求或者有更好的实现方式,都会进行迭代升级。下面介绍一个个人最近根据C++标准库风格重新实现了一套容器扩展通用库实现,包含链表、队列(FIFO)和栈(LIFO)等,其中包含了结构体定义序列化/反序列化功能。初步简单进行过验证而已介绍 具体功能有:支持多种...

  • 嵌入式软件架构设计-分层状态机

    2023-09-23

    点击上方蓝色字体了解更多的嵌入式编程实用技能。如果你觉得该文章对你有帮助,欢迎点赞+关注 前言 之前介绍的状态机是有限状态机(FSM),这篇介绍一下分层状态机(HSM)的理解。分层状态机是一种用于描述系统行为和控制流的模型,它将系统划分为多个层级,并将每个层级表示为一个状态机。每个状态机描述了一个特定的状态集合以及状态之间的转移规则。每个状态机都有自己的输入和输出,可以与其他状态机进行交互,从而形成整个系统的行为。分层状态机的设计有助于降低系统复杂度,并且能够更好地组织系统的功能和行为。在分层状态机中,每个状态机...

  • 五一假期小福利它来了!!!

    2023-09-23

    五一小长假就要来了,但是由于疫情问题,很多朋友都只能宅家或者呆在学校,心情略微不爽。为了提高五一假期的愉悦程度,特地为大家发放一波抽奖小福利。不过有一丢丢小要求,就是需要大家帮忙在公众号中随机选择一篇文章留言(不包括当前的文章),而且留言的点赞数需要大于等于 32,抽奖小福利才能生效哦。点击左下方的【阅读原文】进入抽奖活动界面!!!活动结束后,需要将中奖码和留言点赞数通过公众号私发给我哦!!!不然可能就会失效的!!!下面是五一假期的福利奖项(可下载公众号的开源代码实现自己的功能哦):抽奖活动一等奖(奖项已变...

  • 五一假期福利中奖名单透露

    2023-09-23

    截至目前为止,只有几位朋友参加抽奖活动,还剩最后几天,透露一下目前抽奖中奖的名单,这几位中其中有两位朋友抽到了 WIFI 模块。活动还剩余最后几天,有兴趣的朋友可以点击“阅读原文”进行抽奖。点击左下方的【阅读原文】进入抽奖活动界面,立即抽奖!!!兑奖要求现改为:1、已关注公众号【大橙子疯嵌入式】2、在活动时间内随机选择公众号【大橙子疯嵌入式】中一篇文章留言,且该篇留言的点赞数大于 10 !3、兑奖时间内将中奖码和留言点赞数截图通过公众号私发给我哦,核对成功后届时发货。

  • 五一抽奖活动结束,名单公布

    2023-09-23

    本次活动大约 10 人参加,5 位朋友中奖,还有位朋友记得这两天补充一下信息,便于接收快递。目前奖品已发货,请中奖的朋友注意查收。

  • C语言位操作符常用小技巧分享

    2023-09-23

    位操作符的一些运算小技巧本文主要介绍一些会经常使用到的位操作小技巧。使用位操作符时有以下两点需要注意进行位运算时数据全部是换算为二进制的。位操作符只适用于整形变量,不适合浮点数变量。(本质是由于两者的数据存储类型不同)1. 交换两个变量的值  int a = 1;  int b = 2;  a ^= b;  b ^= a;  a ^= b;  printf("a: %d b: %d\n", a, b);2. 求二进制中1的个数int a = 5;int count = 0;while (a) {  a = a&(a - 1); //每次把最低位丢弃,直到a为0.  count++;}printf("%d\n", count);3. 求二进...

  • proteus常用元件图示和名称介绍

    2023-09-23

    不想错过我的推送,右上角-查看公众号-设为星标AT89C51(经典单片机)STM32F103SWITCH 一位开关SW-SPST 一位开关SW-SPDT 两位开关SW-ROT-3(单刀三掷开关)CAP(无极性电容)CAP-ELEC(极性电容)CRYSTAL(晶振)DIODE(二极管)LED-BIBY(发光二极管)DIODE-LED(发光二极管)PHOTODIODE(光敏二极管)RES(电阻)BUTTON(按钮)BUS(总线)VCC(电源)GROUND(接地)BUZZER(蜂鸣器)device:通用蜂鸣器active:有源蜂鸣器,通过直流操作由声卡发声74HC573(常用锁存器)7SEG-MPX4-CA(共阳极数码管)cc表示共阴极,ca表示共阳极;LM016L(常用液晶)12864MATRIX-8乘8点阵POT(滑动变阻器)PO...

  • 如何成为一个优雅的工程师?

    2023-09-23

    优雅?硬件?看似毫不关联的两个词汇在硬件工程师的手里竟然发生了奇妙的化学反应,使其紧密地结合在了一起。最近发现有位宝藏创作者又发了新作品——年轻人的第二个电流表。项目获取方式:登录硬创社官网x.jlc.com,搜索“模拟及五位源表 / 电流表(一)控制部分”即可。本项目作者分为2个项目上传(因为2块板),本文主要讲解第一部分(控制部分),作者免费供大家下载复刻,下载的时候记得给作者点赞、评论、分享哦。项目名:模拟及五位源表 / 电流表(一)版权费:0元;提供资料:全部工程+源码;作者: amagsty;#模拟条  #电流表(控制部...

  • 华为“天才少年”稚晖君又出新作,从零开始造“客制化”智能键盘

    2023-09-23

    整理 | 于轩       出品 | 程序人生(ID:coder_life)时隔四个多月,打破拖更记录的华为“天才少年”,有着“野生钢铁侠”之称的稚晖君,终于在7月24日发布了他的最新项目视频。在本次视频中,稚晖君打造了一把模块化机械键盘,并称其为“很实用的生产力工具”。稚晖君将这把理想键盘命名为“瀚文”,由自己从头设计,并加入了智能交互模块,不仅可以安装各种APP,还可以实现指纹解锁等功能。随后,这一视频还被华为官方转发,并评论“太厉害了!”  不满“客制化”键盘,稚晖君选择自己做稚晖君表示,此次项目的想法源于几个月前的居家办公...

  • 嵌入式优势到底在哪里?

    2023-09-23

    不想错过我的推送,右上角-查看公众号-设为星标最近总是有人会问我做嵌入式行业还有发展前途吗?嵌入式工作会越来越少吗?嵌入式算吃青春饭吗?其实各行各业说白了,都会有支持的声音也会有反对的声音。在这个圈子里做的好的人会告诉你这个行业发展很好,反之做的不好的人就会和你说这个行业是如何如何的不行。所以你要带着自己的思考全方位的去了解,不仅要想还要动手去做,才有话语权去评论好与坏。恰好最近看到一个很励志的故事,分享给大家。01故事正片开始~我从事嵌入式方向之一单片机开发近10年了。这10年我对这个行业感慨万千,至今还保留着1...

  • 我用C语言把何同学的代码跑起来了!

    2023-09-23

    不想错过我的推送,右上角-查看公众号-设为星标免责声明:仅供娱乐,只是展示这段代码在理论上是可行的。原版代码首先,先来看下视频中何同学的这两段代码:powerConlittleFingerForce代码分析首先呢,根据图片中的这两段代码,我猜测他可能是想获取数组中第0,1,5,6,10,51,56,58,64号下标的值。了解到这个目的后,就可以根据这个需求进行代码编写了。 forceCon[whichKey - 1] = forcevoid littleFingerForce(void) {  powerCon(1 | 2 | 6 | 7 | 11 | 52 | 57 | 58 | 65, 10);}代码实现这段代码是根据B站up主:内...

  • 单片机、嵌入式的大神都平时浏览什么网站?

    2023-09-23

    不想错过我的推送,右上角-查看公众号-设为星标1、基础学习(C/C++,Linux基础等)菜鸟教程(C语言学习)https://www.runoob.com/cprogramming/c-standard-library.htmlc语言中文网http://c.biancheng.net/计算机科学网站(C语言部分)https://www.geeksforgeeks.org/c-programming-language/QT快速入门http://shouce.jb51.net/qt-beginning/2、单片机学习ST官网https://www.st.com/content/st_com/en.html正点原子资料http://www.openedv.com/docs/index.html野火资料https://doc.embedfire.com/products/link/zh/latest/index.html安富莱论坛https...

  • 嵌入式行业真的没前途吗?

    2023-09-23

    不想错过我的推送,右上角-查看公众号-设为星标昨天我再逛知乎的时候,看到了这个问题,在这里给大家分享两个高赞的回答:作者:吴三多链接:https://www.zhihu.com/question/272159066/answer/1347006222 本人背景:普通本科+985硕士(2018年毕业)校招我拿了小米服务端的offer,也拿了华为/中兴的offer,因为想着迟早也要回家买房的,所以放弃了北京的小米,也放弃了随机分配的华为,在和华为工资差距不大的情况下,选择了一家做嵌入式软件的IC厂。就题主的学历背景来说,我想嵌入式的offer和普通互联网的offer,在同一个城市薪资差距可能并不大...

  • 一文带你了解MOS管

    2023-09-23

    不想错过我的推送,右上角-查看公众号-设为星标1、 三个极的判定G极(gate)—栅极,不用说比较好认S极(source)—源极,不论是P沟道还是N沟道,两根线相交的就是D极(drain)—漏极,不论是P沟道还是N沟道,是单独引线的那边2、 N沟道与P沟道判别箭头指向G极的是N沟道箭头背向G极的是P沟道3、 寄生二极管方向判定不论N沟道还是P沟道MOS管,中间衬底箭头方向和寄生二极管的箭头方向总是一致的:要么都由S指向D,要么都有D指向S4、 MOS开关实现的功能1>信号切换2>电压通断5、 MOS管用作开关时在电路中的连接方法关键点:确定那一极连接输入端,那一极连接输...

  • 项目分享|太阳能无线气象站

    2023-09-23

    不想错过我的推送,右上角-查看公众号-设为星标1、项目简介本设计时基于ESP32和 LoRa 模块和一些常见的气象传感器制作太阳能无线气象站。该项目是一个开源项目,设计资料在文末分享。气象站完全由太阳能供电,所以不用担心外部电源。可以将它安装在一个偏远的地方,而不需要铺设长电缆来提供电力。气象站是一个经济实惠的气象站,适用于智能农业、智能城市、太阳能发电厂、建筑工地等各种应用。它由两个节点组成,发送者节点将部署在外地(如果没有互联网) ,接收者节点将保持在室内,如果有互联网可以将天气数据上传到互联网。该项目的主要目标是通...

  • 我说PID算法其实不难,没人反对吧?

    2023-09-23

    不想错过我的推送,右上角-查看公众号-设为星标看起来PID高大尚,实则我们都是被他的外表所震撼住了。先被别人唬住,后被公式唬住,由于大多数人高数一点都不会或者遗忘,所以再一看公式,简直吓死。了解了很浅的原理后,结果公式看不懂,不懂含义,所以最终没有透彻。我这里先对公式进行剖析,公式理解明白了,结合网上的一些pid讲述的例子,就明白了。先对PID这三个系数的含义进行简单扫盲:P是比例系数,I是积分系数、D是微分系数。下面对PID这三个系数进行详细说明1.比例系数P是干什么用?其实如果现在你是初中生的话,你一下子就懂了,比例系数...

  • 一文明白锁相环基本原理

    2023-09-23

    不想错过我的推送,右上角-查看公众号-设为星标1、锁相环是什么?锁相环电路是使一个特殊系统跟踪另外一个系统,更确切的说是一种输出信号在频率和相位上能够与输入参考信号同步的电路,它是模拟及数模混合电路中的一个基本的而且是非常重要的模块。2、锁相环基本理论2.1 工作原理锁相环作为一个系统,主要包含三个基本模块:鉴相器(Phase Detector:PD)、低通滤波器(LowPass Filter:LPF),亦即环路滤波器(L00P Filter:LF),和压控振荡器(Voltage Controlled Oscillator:VCO)。这三个基本模块组成的锁相环为基本锁相环,亦即线形锁相环(LPLL),如...

  • 嵌入式领域经典书籍推荐!

    2023-09-22

    万物互联的时代已经到来,这不是一个概念,而是规模超过20万亿美元的全球市场。物联网技术不仅创造了新的产业,还让诸多传统行业脱胎换骨。以汽车行业为例,物联网技术的出现带来了颠覆性的影响。无人驾驶、车联网,借助于传感器、低延迟网络、人工智能算法,解放了人力,提升了安全性。类似地,在智慧家居、工业互联网、安防监控等领域,物联网技术都在渗透并改造行业。截至2020年,中国的物联网市场规模就达到了17000亿元。据预测到2025年,中国就会拥有世界上最大的物联网市场。作为技术人,我们没有理由错过这一波时代的红利。物联网技术架构物...

  • keil编出的hex文件都是些什么东西?

    2023-09-22

    不想错过我的推送,右上角-查看公众号-设为星标1、什么是hex文件以*.hex为后缀的文件我们称之为HEX文件。hex是intel规定的标准,hex的全称是Intel HEX,此类文件通常用于传输将被存于ROM或EEPROM中的程序和数据。是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。HEX的英语原始意思是16进制。这种文件格式主要用于保存单片机固件。整个文件以行为单位,每行以冒号开头,内容全部为16进制码,2个ASCII码字符表示1个Hex字节2、hex文件格式先上图:这是我用Notepad++ 直接打开的一个32bit的单片机编译器编译的一个hex文件(中间省略了部分)...

  • 开发人员要知道的软件测试那些事儿

    2023-09-22

    不想错过我的推送,右上角-查看公众号-设为星标最近工作接触测试相关的内容比较多,这里简单的给大家介绍下关于测试的一些基本知识1、黑盒测试、白盒测试、灰盒测试1.1 黑盒测试黑盒测试 又叫 功能测试、数据驱动测试 或 基于需求规格说明书的功能测试。该类测试注重于测试软件的功能性需求。采用这种测试方法,测试工程师把测试对象看作一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的《需求规格说明书》,检查程序的功能是否符合它的功能说明。测试工程师无需了解程序代码的内部构造,完全模拟软件产品的最终用户使用该软件,...

  • 通过篡改特定代码数据修复单片机BUG的方法

    2023-09-22

    不想错过我的推送,右上角-查看公众号-设为星标一、前言在嵌入式产品开发中,难以避免地会因为各种原因导致最后出货的产品存在各种各样的BUG,通常会给产品进行固件升级来解决问题。记得之前在公司维护一款BLE产品的时候,由于前期平台预研不足,OTA参数设置不当,导致少数产品出现不能OTA的情况,经过分析只需改变代码中的某个参数数值即可,但是产品在用户手里,OTA是唯一能更新代码的方式,只能给用户重发产品。后来在想,是否可以提前做好一个接口,支持动态地传输少量代码到产品中临时运行,通过修改特定位置的Flash代码数据来修复产品的棘手BU...

  • 与牛人为伍,才能走的更远!

    2023-09-22

    这个时代技术迭代很快,一个人的精力有限,只有集各家之所长,才能快速提升自己,今天给大家推荐几个非常硬核的优质公众号,感兴趣的朋友不妨关注一波。01 巧学模电数电单片机公众号:巧学模电数电单片机,致力于为中国的设计、研发、测试工程师提供精选的软、硬件技术知识,这里所有的内容跟你有关,对你有用!▼点击下方名片关注公众号▼       02 嵌入式情报局公众号:嵌入式情报局,一个集单片机与linux于一身的嵌入式技术公众号,号主 : 情报小哥,长沙理工硕士毕业,目前正从事嵌入式系统研发工作,致力于将晦涩难懂的嵌入式技术趣味化,...

  • Modbus 的RTU、ASCII、TCP傻傻搞不清楚

    2023-09-22

    不想错过我的推送,右上角-查看公众号-设为星标01术语解读校验码:校验码通常是一组数字的最后一位,由前面的数字通过某种运算得出,用以检验该组数据的正确性。代码作为数据在向计算机或其它设备进行输入时,容易产生输入错误,为了减少这种输入错误,编码专家发明了各种校验检错方法,并依据这些方法设置了校验码。常用的校验有:累加和校验SUM、字节异或校验XOR、纵向冗余校验LRC、循环冗余校验CRC……离散量输入:主要用来读取单个位的数据,如IO的状态;线圈:开关输出信号,主要用来写入单个位的数据,与离散量构成组成对位的操作;输入寄存器...

  • 免费分享海量学习资源

    2023-09-22

    免费分享软硬件学习资源!包括:C/C++,C#,Linux,Python,Java,PHP,QT、数据库、人工智能,大数据、FPGA、DSP、单片机、电赛、智能车比赛、diy设计等等!在公众号内回复「嵌入式基地」,即可免费获取,期待你的关注~长按识别图中二维码关注由于篇幅有限,无法放置全部资料截图。在公众号内回复「嵌入式基地」,即可免费获取,期待你的关注~长按识别图中二维码关注

  • 突发!AMD收购赛灵思!

    2023-09-22

    点击上方“嵌入式基地”,选择“置顶/星标公众号”福利干货,第一时间送达!     据《华尔街日报》最新报道,超微半导体(AMD)正就收购芯片制造商赛灵思(Xilinx)展开深入谈判,最快可能在下周完成谈判,交易价值可能超过300亿美元。  由于公共卫生事件引起芯片的需求剧增,AMD股价今年以来累计上涨约89%,目前市值已经超过1000亿美元。而赛灵思目前市值只有260亿美元,今年以来股价累涨约9%。  根据数据显示,如果AMD和赛灵思达成交易协议,这将成为半导体行业最新的一起大规模并购案。  此前英伟达在9月份以400亿美元价格收购由软银集...

  • 单片机中常用的负电压如何产生?原理分析

    2023-09-22

    点击上方“嵌入式基地”,选择“置顶/星标公众号”福利干货,第一时间送达!在电子电路中我们常常需要使用负电压,比如说我们在使用运放的时候需要建立一个负电压。下面就简单的以正5V电压到负5V电压为例,说一下它的电路。通常需要使用负电压时一般会选择专用的负压产生芯片,但这些芯片都比较贵,比如ICL7600,LT1054等。差点忘了MC34063了,这个芯片使用的最多了,关于34063的负压产生电路这里不说了,在datasheet中有的。下面请看我们在单片机电子电路中常用的两种负电压产生电路。现在的单片机有很多都带有了PWM输出,在使用单片机的时候PWM很...