电子技术应用|技术阅读
登录|注册

您现在的位置是:电子技术应用 > 技术阅读

技术阅读

  • RTOS中的任务是线程、进程、还是协程?

    2023-08-08

    关注+星标公众号,不错过精彩内容转自 | 最后一个bug今天为大家讲解讲解OS中的线程、进程和协程的这几个概念,同时一起看看RTOS中的任务到底属于哪一种。1、三者整体关系图很多小伙伴在学习OS的过程中会遇到各种程序形态,比如说进程、线程、协程、管程、纤程,oh my god!要是对他们不熟悉还真分辨不清楚,今天作者主要是把大家平时最常遇到的进程、线程和协程这三个概念讲一讲,其他形态作者后续再慢慢补充相关文章,下面我们简单看一下windows里面的进程(Linux也是类似的),如下图所示:我们可以发现每行表示一个进程,同时一个进程包含多个线程...

  • 用于单片机的几种C语言算法

    2023-08-08

    关注+星标公众号,不错过精彩内容编排 | strongerHuang来源 | 技术让梦想更伟大单片机主要作用是控制外围的器件,并实现一定的通信和数据处理。虽然单片机不擅长实现算法和进行复杂的运算,但在某些特定场合,不可避免地要用到数学运算。比如:在单片机进行数据采集时,会遇到数据的随机误差,随机误差是由随机干扰引起的,其特点是在相同条件下测量同一量时,其大小和符号会现无规则的变化而无法预测,但多次测量的结果符合统计规律。为克服随机干扰引起的误差,硬件上可采用滤波技术,软件上可采用软件算法实现数字滤波。滤波算法往往是系统测控...

  • 几种基于RTOS的实用工具

    2023-08-08

    注+星标公众号,不错过精彩内容来源 | 麦克泰技术微信公众号 | 嵌入式专栏越来越多的嵌入式系统依赖于实时操作系统(RTOS)的使用,以满足实时需求,减少上市时间,简化开发,增加代码可移植性。尽管RTOS有许多好处,但它也有其缺点,如可能引入分配不当的任务优先级、堆栈溢出、饥饿、死锁、优先级反转等bug。一些专门设计的工具,可以帮助基于RTOS的程序开发人员发现一些难以发现的错误。RTOS是什么?实时操作系统(RTOS或实时内核)是有效地管理CPU时间的软件。大多数内核使用C编写,仅需汇编语言编写小部分代码,使内核适配不同的CPU体系结构。在...

  • 5号和25号发工资有啥区别?

    2023-08-08

    关注+星标公众号,不错过精彩内容内容综合自人力葵花、BOSS直聘5号发工资和25号发工资,就能看出一个公司是否靠谱?对很多工薪族来说,发工资这一天基本上是脱贫致富的重要日子,也是很多人的还款日子,交房租,还信用卡……想到接下来的日子又得靠拆东墙补西墙过。即使发薪日就是还款日,但这个美好的日子还是值得每个职场人期待的!为什么有的人5号、10号就发工资,有的人要到25号才发呢?发薪日是公司生态的一个缩影,可以由此看出一个公司的好坏。我们把发薪日分为三个时间段:10号以前:多为高科技公司、上市公司、外资公司、国企。10-15号:部...

  • C语言函数返回1和返回0究竟哪个好?

    2023-08-08

    关注+星标公众号,不错过精彩内容编排 | strongerHuang微信公众号 | 嵌入式专栏基本上,没有人会将大段的C语言代码全部塞入 main() 函数。更好的做法是按照复用率高、耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数。C语言代码的组合千变万化,因此函数的功能可能会比较复杂,不同的输入,常常产生不同的输出结果。嵌入式专栏1C语言函数的返回值C语言函数可以通过返回值表示输出结果,例如 log() 函数的返回值会根据不同的输入,返回不同的值。再比如,我们定义一个函数 myopen(),用于打开某个文件,那么,这个函数要么能够成...

  • 你写的代码可能就是这样

    2023-08-08

    关注+星标公众号,不错过精彩内容来源 | 程序员最幽默当你接手一个新项目的时候脑海里已经想出了最后成功后龙袍加身的自己以为即将走上人生巅峰准备大干一场开机电脑一直显示“加载中”这几个字开始写代码发呆、看编译器、出去上厕所回来看着编译器,然后继续发呆但是随着时间的推移产品经理一遍又一遍地提出新需求这,怎么可能还淡定的了?不得不和产品经理提出了自己的想法虽然提的有点小心翼翼确定方案后大脑里明晰研究技术线路结果……当你终于想好要怎么写时脑海中突然灵光一闪又有了新的Idea当和产品经理交流你的想法后当产品经理给你指明方向...

  • STM32自举程序原理和使用

    2023-08-08

    关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏很很多单片机都有自举程序,像支持STC单片机使用串口下载,这种其实也是单片机内部集成了一段自举程序。那你,你了解自举程序吗?下面结合STM32给大家分享一下关于自举程序的知识。1关于自举程序STM32中内嵌了一段自举程序,可能很多人不知道。那段自举程序存放在System memory(系统存储器)中,我们通过配置启动,选择启动系统存储器就可以运行这段程序。2STM32启动配置STM32有三种启动模式:Main Flash memory:主FLASHSystem memory:系统存储器Embedded SRAM:内...

  • 分析C/C++代码并提高程序的编译速度

    2023-08-08

    关注+星标公众号,不错过精彩内容转自 | 技术让梦想更伟大代码的编译速度和代码的质量,可能与多种因素决定,今天给大家分享一下代码编译速度的问题。硬件、编译器造成的使用好点的电脑无疑是一个操作上的最佳选择,其次,对于编译器也是可以编译选项优化的,例如在VS环境中,可以通过配置属性来实现,具体步骤如下,大家可以参考:https://blog.csdn.net/yizhou2010/article/details/52635288代码编写风格多使用自加、自减指令和复合赋值表达式你觉得使用i++ ,i = i + 1,i += 1有区别吗?我们来测试一下C代码:void asd() {}int main() { int i=...

  • PCB镀金和沉金的区别

    2023-08-08

    关注+星标公众号,不错过精彩内容编排作者 | strongerHuang微信公众号 | 嵌入式专栏沉金板与镀金板是PCB电路板经常使用的工艺,许多读者都无法正确区分两者的不同,甚至有一些客户认为两者不存在差别。那么这两种“金板”究竟对电路板会造成何等的影响呢?下面我就具体为大家讲解下,彻底帮大家帮概念搞清楚。嵌入式专栏1什么是镀金我们所说的整板镀金,一般指的是“电镀金”“电镀镍金板”“电解金”“电金”“电镍金板”,有软金和硬金的区分(一般硬金是用于金手指的)。原理是将镍和金(俗称金盐)溶化于化学药水中,将线路板浸在电镀缸内并接...

  • 手把手教你VS Code 实现远程开发的配置方法

    2023-08-08

    关注+星标公众号,不错过精彩内容编排 | strongerHuang微信公众号 | 嵌入式专栏VS Code几乎是所有的程序员必备的工具之一,据说全球一般的开发者都使用过VS Code这款工具。今天为大家介绍一下 VS Code 实现远程办公的方法。嵌入式专栏1概述通常,我们都是每天到工作的办公室进行办公,但是,如果下班回家,或者出差,此时如果马上需要重要的文件,或者升级一下代码,是不是必须要回到办公室才行啊?但是,如果你电脑配置了远程办公,这种问题就迎刃而解了。首先说下VS Code远程开发的工作原理,大致是这样的:VS Code 远程开发原理下面结合Win10、...

  • 微软即将发布第一个64 位版Visual Studio

    2023-08-08

    关注+星标公众号,不错过精彩内容编排 | strongerHuang微信公众号 | 嵌入式专栏参考来源:https://devblogs.microsoft.com/visualstudio/visual-studio-2022/最近,微软在其开发者博客宣布了一则重磅消息:Visual Studio 2022首个预览版将于今年夏季发布 ,并且终于成为万众期待的64位版。微软表示:Visual Studio的下一个主要版本将更快,更易访问且更轻巧,专为初学者和构建工业规模解决方案的人而设计,进一步完善用户体验。这是Visual Studio发布至今,第一次发布64位 Visual Studio。Visual Studio 2022将是一个64位应用程序,不再受内存限制...

  • C 语言#if、#elif、#ifdef的灵活秒用

    2023-08-08

    关注+星标公众号,不错过精彩内容转自 | 技术让梦想更伟大有时候出于对程序代码优化的考虑.希望只对其中一部分内容进行编译。此时就需要在程序中加上条件,让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,这就是条件编译。常见的预编译指令如下:#define定义一个预处理宏#undef取消宏的定义#if编译预处理中的条件命令,相当于C语法中的if语句#ifdef判断某个宏是否被定义,若已定义,执行随后的语句#ifndef与#ifdef相反,判断某个宏是否未被定义#elif若#if,  #ifdef, #ifndef或前面的#elif条件不满足,则执行#elif之后的语句,相当于...

  • 精选汇总 | 文件格式

    2023-08-08

    关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏为了方便大家平时公交、地铁、外出办事也能用手机回顾查看文章,我特意用心精选,并分类整理了部分文章:文件格式FAT、FAT32、exFAT之间关系和区别一种新型免费无损图片格式FLIF小型文件系统FatFS和LittleFS对比和区别浅谈Linux内核源码中Makefile、Kconfig和.config文件轻松理解bin、hex、axf和elf文件格式逐渐完善中······更多精选内容:关注公众号并在后台回复“专栏名称”,比如【Keil系列教程】即可查看。【专栏】Keil系列教程【专栏】IAR系列教程【专栏】...

  • 精选汇总 | 软件算法

    2023-08-08

    关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏为了方便大家平时公交、地铁、外出办事也能用手机回顾查看文章,我特意用心精选,并分类整理了部分文章:几个经典的C语言算法及代码嵌入式软件常用校验算法软件开发中八大经典排序算法深度分析卡尔曼滤波算法原理视频动画展示15种经典排序算法嵌入式项目中软硬件CRC计算,及CRC校验的应用几种常见温度控制算法加密算法DES、AES和RSA的原理和特点逐渐完善中······更多精选内容:关注公众号并在后台回复“专栏名称”,比如【Keil系列教程】即可查看。【专栏】Keil...

  • 手把手教你编写一个上位机

    2023-08-08

    关注+星标公众号,不错过精彩内容转自 | 嵌入式大杂烩嵌入式开发,基本都会用到有一些上位机工具,比如串口助手就是最常用的工具之一。那么,今天分享有一篇由ZhengN整理的用Qt写的简单上位机教程。一、前言 大家好,我是ZhengN,本次来教大家编写一个基于QT的简单的上位机。学习一个新的东西我们都从最基础地实例开始,比如学习C语言我们会从编写一个hello程序开始、学习嵌入式我们从点灯开始。同样的,我们也从编写一个简单的基于QT的上位机来体会体会上位机开发及认识认识QT。我们本次实现的上位机的功能很简单:上位机通过串口来控制开发板上...

  • 分享一些嵌入式相关的开源项目

    2023-08-08

    关注+星标公众号,不错过精彩内容来源 | 人人都是极客大家平时学习的资源可能来自不同地方,对于程序员来说,Github上高星的开源项目值得了解并学习。今天就给大家分享几个在GitHub上高星的嵌入式相关的开源项目。1.Avem项目链接:https://github.com/avem-labs/Avem项目简介:这是一个轻量级无人机飞控项目。2.Awesome-Embedded项目链接:https://github.com/nhivp/Awesome-Embedded项目简介:这是一个很棒的嵌入式资源汇总的项目。汇聚了各种嵌入式相关的资源:3.soft-and-hard项目链接:https://github.com/alwxkxk/soft-and-hard项目简介:这是...

  • 推荐几个代码静态分析工具

    2023-08-08

    关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏大家平时写代码,有用代码静态分析工具进行分析吗?可能很多人都没有对代码进行过静态分析,今天就来给大家推荐几个代码静态分析工具。嵌入式专栏0关于代码静态分析工具代码静态分析工具,顾名思义就是对代码进行静待分析,以提前预判(分析出)代码潜在的一些问题的工具。换句话说,就是通过工具找出你代码的bug(错误、警告)。代码静态分析工具需要你的代码遵循一定规范,比如遵循C99、MISRA C:2012等,不然工具不支持对你代码的静态分析。代码静态分析工具有独立...

  • Keil 编译器AC6中的LLVM编译原理

    2023-08-08

    关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏Keil MDK中使用的是Arm编译器(Arm Compiler),目前主要是AC5和AC6。而AC6相较于AC5在编译速度上有很大的提升,那么,你知道为什么吗?原因在于AC6是基于现代LLVM和Clang技术构建而成,今天就来讲讲AC6和LLVM的编译原理。嵌入式专栏1关于编译器AC6早在2015年,Arm就推出了AC6编译器,并集成在Keil MDK中。但由于AC5和AC6对代码的的兼容性不友好,导致很多使用Keil MDK的用户还是AC5编译器。所以兼容性不友好,但AC6的编译速度相比AC5快很多,因此还是吸引了一部分人...

  • 几种常用的电机控制法

    2023-08-08

    关注+星标公众号,不错过精彩内容来源 | bug菌最近看到一些朋友都在玩各种电机,对于电机重要的就是控制了,控制得稳、准、快是一名控制算法软件工程师的终极目标,首先可以玩一些比较成熟的控制算法来体验一下,所以这里收集这块内容分享给大家。1BLDC电机控制算法无刷电机属于自换流型(自我方向转换),因此控制起来更加复杂。BLDC电机控制要求了解电机进行整流转向的转子位置和机制。对于闭环速度控制,有两个附加要求,即对于转子速度/或电机电流以及PWM信号进行测量,以控制电机速度功率。BLDC电机可以根据应用要求采用边排列或中心排列PWM信号...

  • 远程升级单片机程序设计思路

    2023-08-08

    关注+星标公众号,不错过精彩内容来源 | 嵌入式技术开发之前给大家分享过IAP升级APP的例子,今天为大家分享一下远程升级单片机的设计思路。在物联网应用中,远程IAP升级MCU的程序是一项非常有用的功能。当设备出现程序问题或者需要更新程序时,只需要在服务器上对设备进行升级,不需要在有专门的人员去现场进行升级,节省人力物力。嵌入式专栏1远程升级的基础功能要实现远程升级,首先要实现以下几个基本功能:1.Flash读写不管是本地IAP还是远程IAP,这都是最基本的功能。2.无线通讯可通过WIFI、4G、以太网等多种方式来实现,根据实际项目需求选择。...

  • RT-Thread AI kit轻松部署 STM32Cube-AI 至 RT-Thread

    2023-08-08

    RT-AK 简介RT-AK: RT-Thread AI kit,RT-Thread AI 套件RT-AK 是 RT-Thread 团队为 RT-Thread 实时操作系统所开发的 AI 套件,能够一键将 AI 模型部署到 RT-Thread 项目中,让用户可以 在统一的 API 之上进行业务代码开发,又能在目标平台上获得极致优化的性能,从而更简单方便地开发端侧 AI 应用程序。在 RT-AK 支持下,仅需要一行命令,python aitools.py --model xxx...,即可将 AI 模型部署到 RT-Thread 系统中:详细的命令请查阅:[如何运行 aitools.py](# step1 运行 rt_ai_tools/aitools.py)开源链接:https://github.com/RT-Thread/RT-...

  • 为什么Git把SVN拍在了沙滩上?

    2023-08-08

    关注+星标公众号,不错过精彩内容来源 | 云加社区Git和SVN是大家都比较熟知的版本管理,近几年Git越来越受到大家的喜欢。下面就来分享下关于Git和SVN的内容。 Git vs SVN Git 和 SVN 孰优孰好,每个人有不同的体验。一、Git是分布式的,SVN是集中式的这是 Git 和 SVN 最大的区别。若能掌握这个概念,两者区别基本搞懂大半。因为 Git 是分布式的,所以 Git 支持离线工作,在本地可以进行很多操作,包括接下来将要重磅推出的分支功能。而 SVN 必须联网才能正常工作。二、Git复杂概念多,SVN简单易上手所有同时掌握 Git 和 SVN 的开发者都必须承认,G...

  • 嵌入式开发中,选中断还是轮询方式?

    2023-08-08

    关注+星标公众号,不错过精彩内容来源 | 技术让梦想更伟大摸水了一周,准备在家里好好敲敲代码,赶赶稿子,正当我专心输出的时候,被老婆打断了。娃拉臭了,赶紧过来!语气中带着一丝丝我害怕的味道。怎么办?没办法只有过去换尿布咯,三两下,搞定!之后,我继续开始肝,但是心想,要是娃再哭闹了,老婆是不是会骂人了?想着不行,我得去看看,于是我每隔几分钟就去瞅瞅,媳妇看到我这么用心,笑开了花!是的,从中我也悟出了中断与轮询的味道,今天我们来看看这两者的内涵与区别。中断在嵌入式开发过程中,使用到处理器的时候,中断是我们必不可少...

  • 曝光STM32和GD32固件库的相似之处

    2023-08-08

    点开下面阅读对比STM32和GD32固件库各大源文件的相似之处,以及不同之处。

  • 基于STM32、FreeRTOS低功耗设计思路和原理

    2023-08-08

    关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏如今电池供电的产品很多,电池供电通常设计到一个问题,那就是低功耗。本文为大家讲讲基于STM32、FreeRTOS实现低功耗思想和原理。嵌入式专栏1低功耗设计常规思路应用中使用的 RTOS 一般采用基于时间片轮转的抢占式任务调度机制,一般的低功耗设计思路如下:1. 当 Idle 任务运行时,进入低功耗模式;2. 在适当的条件下,通过中断或者外部事件唤醒 MCU。但是, 从第二点可以看出,每次当 OS 系统定时器产生中断时,也会将 MCU 从低功耗模式中唤醒,而频繁的进入低功耗模...

  • 我的视频号上线了

    2023-08-08

    最近在规划整理点视频分享给大家:下面是我的视频号,欢迎大家扫码关注(长按识别关注)。

  • 遇到这样的小姐姐,该怎么办?

    2023-08-07

    五一节,出门旅游的占多数,但结婚的也不少,同时,相亲的也不少,如果你遇到这样的相亲对象,该怎么办?所以,你知道该怎么办吗?

  • 为什么 qt 成为 c++ 界面编程的第一选择?

    2023-08-07

    关注+星标公众号,不错过精彩内容转自 | 技术让梦想更伟大来源:https://blog.csdn.net/jiedichina/article/details/78547067Qt可以说是UI界的经典,今天为大家分享一篇关于Qt的内容。嵌入式专栏1前言为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右。当时为什么会从MFC转到QT?主要原因是MFC开发界面想做得好看一些十分困难,引用第三方基于MFC的界面库代码也是比较混乱,当时主要看到qt有qss样式设计这个功能,决定试下。当项目移植到到QT后,觉得MFC真的是可以抛弃...

  • 万字整理,肝翻Linux内存管理所有知识点

    2023-08-07

    Linux的内存管理可谓是学好Linux的必经之路,也是Linux的关键知识点,有人说打通了内存管理的知识,也就打通了Linux的任督二脉,这一点不夸张。有人问网上有很多Linux内存管理的内容,为什么还要看你这一篇,这正是我写此文的原因,网上碎片化的相关知识点大都是东拼西凑,先不说正确性与否,就连基本的逻辑都没有搞清楚,我可以负责任的说Linux内存管理只需要看此文一篇就可以让你入Linux内核的大门,省去你东找西找的时间,让你形成内存管理知识的闭环。文章比较长,做好准备,深呼吸,让我们一起打开Linux内核的大门!Linux内存管理之CPU访问内存...

  • IBM宣布造出全球首颗2nm EUV芯片

    2023-08-07

    关注+星标公众号,不错过精彩内容来源 | 网络今日(5月6日)消息,IBM宣布造出了全球第一颗2nm工艺的半导体芯片。核心指标方面,IBM称该2nm芯片的晶体管密度(MTr/mm2,每平方毫米多少百万颗晶体管)为333.33,几乎是台积电5nm的两倍,也比外界预估台积电3nm工艺的292.21 MTr/mm2要高。2nm晶圆近照:换言之,在150平方毫米也就是指甲盖大小面积内,就能容纳500亿颗晶体管。同时,IBM表示,在同样的电力消耗下,其性能比当前7nm高出45%,输出同样性能则减少75%的功耗。实际上,IBM此前也是率先造出7nm(2015年)和5nm(2017年)芯片的厂商,在电压等...