关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏为了方便大家平时公交、地铁、外出办事也能用手机回顾查看文章,我特意用心精选,并分类整理了部分文章:嵌入式操作系统FreeRTOS内存管理FreeRTOS中相对延时和绝对延时的区别RTOS和TSOS有什么区别?FreeRTOS消息缓冲区实现M4和M7双核之间通信的原理RTOS多任务环境中使用看门狗的重要性实时操作系统RTOS相比裸机的几点优势物联网设备的操作系统选RTOS,而不选Linux的原因计算机操作系统“进程”与“线程”的通俗解析实时操作系统RTOS实现多任务调度原理面向初学者的操...
关注+星标公众号,不错过精彩内容转自 | 知晓编程01概述在之前的文章中《I2C基础原理及协议》中详细讲解了IIC协议,并且使用是NXP的官方手册,demo示例使用IIC读取RTC芯片,运行正常,没有任何问题。并且更新了《IIC踩过的坑》,讲述了在使用IIC读取RTC芯片时遇到的问题,并成功解决。我以为我已经完全学会了IIC,但现实却打了脸,我在使用《STM32IIC详解》文中的IIC驱动,去驱动MPU6050时,总是读取失败。这个驱动明明是验证过的,为什么会有问题。让我一度很是郁闷。02问题不卖关子,直接说问题,是我之前的IIC驱动有问题。问题1:错误将CLK信号GP...
网友评论:@干掉熊猫我就在笼子里了:这好像是你写的吧@程序员李志鹏:写文档@轻狂的夏之稻雀:在?拉一下网线@风过的时候:最後一句!@mylyi_rollback:好想艾特我产品,但我不敢@好累啊略略略略略:你就先这样,在这样,就出来了!这我都能写!
1. 说明在工作过程中,我发现在实际使用RTOS完成项目时,理解这些知识仅能达到会用RTOS的水平,要想用好RTOS,还需要了解一些比较细节的机制,否则容易掉坑进去,花大量时间定位问题。本文结合TencentOS-Tiny实时操作系统给大家讲述一下相关内容。2. 任务的通常写法遵循“不使用就让出”的原则,任务通常有两种写法。① 「阻塞等待」某个事件处理,等待到之后处理:void task1_entry(void *arg){ // init... while (1) { // 1. wait some kernel object... // eg. tos_sem_pend, tos_mutex_pend, tos_event_pend. //...
关注+星标公众号,不错过精彩内容作者 | liukangRust 是什么Rust 是一门赋予每个人构建可靠且高效软件能力的语言。高性能:速度惊人且内存利用率极高可靠性:在编译期就能消除各种内存错误生产力:出色的文档,友好的编译器和清晰的错误提示信息为什么要用 Rust 进行嵌入式开发Rust 的设计理念:既要安全,也要高性能。Rust 的设计理念完全是嵌入式开发所需要的。嵌入式软件在运行过程中出现问题,大部分是由于内存引起的。Rust 语言可以说是一门面向编译器的语言。在编译期间,就能够确保你安全地使用内存。目前,嵌入式的主流开发语言还是 C 语言...
关注+星标公众号,不错过精彩内容转自 | 记得诚我们正常设计PCB是如下的过程,PCB完成之后,会有一个自检,检查OK后,再导出gerber文件,gerber文件再导入到CAM350里面进行检查。在我看来,这中间有很多痛点:PCB设计软件虽带规则检查,但选项少且不够直观清晰,容易漏查;gerber里面有很多文件,人工导出有犯错风险且麻烦;CAM350检查gerber,是靠人工,容错率很低;PCB软件导出生产资料(BOM、坐标文件、装配图等)繁琐;今天推荐的工具,我用了有一段时间了,有了它,你可以将CAM350扔进回收站了,有效解决以上4个痛点。相信很多人已经在用了,...
关注+星标公众号,不错过精彩内容来源 | 网络对策一:尽量减少每个回路的有效面积 图1 回路电流产生的传导干扰传导干扰分差模干扰DI和共模干扰CI两种。先来看看传导干扰是怎么产生的。如图1所示,回路电流产生传导干扰。这里面有好几个回路电流,我们可以把每个回路都看成是一个感应线圈,或变压器线圈的初、次级,当某个回路中有电流流过时,另外一个回路中就会产生感应电动势,从而产生干扰。减少干扰的最有效方法就是尽量减少每个回路的有效面积。对策二:屏蔽、减小各电流回路面积及带电导体的面积和长度 图2 屏蔽、减小各电流回路面积及带...
关注+星标公众号,不错过精彩内容来源 | 量子位实验室里的波士顿动力狗,跳舞跑酷后空翻,堪称狗界网红,机器界顶流:但如果出了实验室,开始正经找个厂上班呢?机器狗的生活就变成了现在这样:迈着忧郁而缓慢的步伐爬楼梯,像极了我们每天早上上班的样子:到地儿看一眼人类上司的任务:拍照,测温……好,下一站。一天能工作12个小时,没劲儿了就自己找地方充电,充满接着干,堪称内卷王:打工狗的生活,就是如此的朴实无华,且枯燥。而这条“上班实录”视频由油管400万粉博主Tom Scott发布,截止到目前为止,已超过91万播放量:工厂上班实录上班的...
关注+星标公众号,不错过精彩内容来源 | 电子电路液晶屏现在在很多电子产品上都可以看到,液晶屏的种类也很多,有TN型、HTN型、STN型、FSTN型、TFT型等众多类型。▲ 反射式TN型液晶结构图简单的说,液晶屏是在两块平行板之间填充液晶材料,通过电压可以用来改变液晶材料内部分子的排列状况,以达到遮光和透光的目的来显示深浅不一,液晶屏功耗很低,因此倍受消费者的青睐。这次我们就来了解一下段码液晶吧,也叫段式液晶,是液晶产品中最基本的一种,段式液晶刚开始应用时候,主要是替代LED数码管,它对比数码管功耗要低很多。▲ 段式液晶段式液晶...
关注+星标公众号,不错过精彩内容来源 | 混知 (ID:hey-stone)------------ END ------------后台回复『科普知识』『软件工具』阅读更多相关文章。欢迎关注我的公众号,回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。欢迎关注我的视频号:点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。
关注+星标公众号,不错过精彩内容转自 | 一口Linux一、gcc 内联汇编内联汇编即在C中直接使用汇编语句进行编程,使程序可以在C程序中实现C语言不能完成的一些工作,例如,在下面几种情况中必须使用内联汇编或嵌入型汇编。程序中使用饱和算术运算(Saturating Arithmetic)程序需要对协处理器进行操作在C程序中完成对程序状态寄存器的操作格式:__asm__ __volatile__("asm code" :output :input :changed registers); asm或__asm__开头,小括号+分号,括号内容写汇编指令。指令+\n\t 用双引号引上。参数「asm code」主要填写汇编代码:"mov r0,...
IAR升级支持修改主题,但缺那么点意思(点击链接阅读原文)
关注+星标公众号,不错过精彩内容来源 | C语言与CPP编程1 引言 定长数组包在平时的开发中,缓冲区数据收发时,如果采用缓冲区定长包,假定大小是 1k,MAX_LENGTH 为 1024。结构体如下:// 定长缓冲区struct max_buffer{ int len; char data[MAX_LENGTH];};数据结构的大小 >= sizeof(int) + sizeof(char) * MAX_LENGTH为了防止数据溢出的情况,data 的长度一般会设置得足够大,但也正是因为这样,才会导致数组的冗余。假如发送 512 字节的数据, 就会浪费 512 个字节的空间, 平时通信时,大多数是心跳包,大小远远小于 10...
关注+星标公众号,不错过精彩内容来源 | cnblogs写烂代码很容易,但是就算写成一坨屎,能用即可, 你同意这种观点吗?程序员刚入行经常听到一些观点你要把精力放在需求文档/功能设计/架构设计/理解原理(ABCD)上,写代码只是把想法翻译成编程语言而已,是一个没什么技术含量的事情。当时的我在听到这种观点时会有一种近似于高冷的不屑:你们就是一群傻子,根本不懂代码质量的重要性,这么下去迟早有一天会踩坑。可是几个月之后,他们似乎也没怎么踩坑。而随着编程技术一直在不断发展,带来了更多的我以前认为是傻子的人加入到程序员这个行业中来。...
关注+星标公众号,不错过精彩内容转自 | Mculover6661. MultiTimer今天给大家带来的开源项目是 MultiTimer,一款可无限扩展的软件定时器,作者0x1abin,目前收获 95 个 star,遵循 MIT 开源许可协议。MultiTimer 是一个软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更优雅更便捷地管理程序的时间触发时序。项目地址:https://github.com/0x1abin/MultiTimer2. 移植MultiTimer2.1. 移植思路开源项目在移植过程中主要参考项目的readme文档,一般只需两步:① 添加源码到裸机工程中;② 实现需要的接口;2.2. 准备...
关注+星标公众号,不错过精彩内容素材来源 | 网络编排 | strongerHuang早期的物联网是指两个或多个设备之间在近距离内的数据传输,解决物物相连,早期多采用有线方式,比如RS323、RS485,考虑设备的位置可随意移动的方便性(有根线太丑了),后期更多的使用无线方式。随着时代进步和发展,社会逐步进入互联网+,各类传感器采集数据越来越丰富,大数据应用随之而来,人们考虑把各类设备直接纳入互联网以方便数据采集、管理以及分析计算。简而言之,物联网智能化已经不再局限于小型设备、小网络阶段,而是进入到完整的智能工业化领域,智能物联网化在...
关注+星标公众号,不错过精彩内容转自 | 涛歌依旧小时候,见过计算器,能很快完成计算,当时心想,计算器真厉害,能提前把所有结果存储下来。后来,吵着闹着要买小霸王学习机,最后如愿变成游戏机,经典游戏“超级玛丽”和“坦克大战”至今历历在目。后来,读初中,有了象征意义上的电脑课,穿着鞋套去电脑室,完全不会操作。有一次,把电脑弄死机了,吓得不轻,梅老师瞪了我一眼,直接把电源关了。然后,他回到他自己的电脑上,潇洒地听着任贤齐唱“让我悲也好,让我醉也好......”。那时,我知道了电脑还能唱歌。对电脑的屏幕画面,也只有个模糊...
关注+星标公众号,不错过精彩内容转自 | 茶话MCU基于STM32芯片的工程代码里有个很重要的文件,即启动文件。该文件主要由汇编语言写成,文件名冠以.s结尾,它是芯片程序运行首先要执行的一个文件。其功能及作用简单点说就是做执行用户程序前的基本准备,比方执行复位程序初始化栈、堆,做时钟系统的默认配置、中断矢量表的定义与分配等。网络上有些文章对该文件做了不错的整体性介绍,这里仅就该文件中的几个小问题一起交流分享下。【注:下面用到的工程是基于STM32F429的,使用IDE为ARM MDK】怎么在编译后的MAP文件里看不到变量__heap_base?有人发...
关注+星标公众号,不错过精彩内容来源 | 水深三米声明:本文部分素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。------------ END ------------后台回复『科普知识』『电子基础』阅读更多相关文章。欢迎关注我的公众号,回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。欢迎关注我的视频号:点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。
关注+星标公众号,不错过精彩内容来源 | 转老师IT充电站为什么我们只听说过中年危机,却没有听过幼年、青年、老年危机?有些人是感慨工作之后就没时间学习了,有些人是感慨成家之后就没时间学习了,有些人是感慨有小孩之后就没时间学习了。其实本质是一回事,只是每个人的忍耐度不同,基本盘不同,所以你认命的时间点不同,但是本质都是问题积累的扛不住了,认命了。这就是中年危机。为什么没有青年危机以及幼年危机?因为这个时期你是“在家靠父母”阶段,你根本不承担任何压力,除非你父母出问题,否则危机落不到你头上,所以不是没有危机,是有...
关注+星标公众号,不错过精彩内容作者 | 0x1abin编排 | strongerHuang按键在我们生活中无处不在,买一块开发板,按键是必备的一个功能。肯定有人会说:按键就一个检测IO状态,有什么难度?你单纯的检测一个按键,确实难度很低。但如果检测单击、双击、三击,长按、短按等操作呢?如果再将其嵌入到复杂的项目中呢?有些功能看似很简单,实际项目中其实不简单。就好比“LED亮灯”,如果能将“LED点灯”运用在各种不同的项目中,你就能超越很多人了。今天就来分享一个关于按键的开源软件模块:MultiButton(事件驱动型按键驱动模块)。简介MultiButto...
关注+星标公众号,不错过精彩内容直接来源 | 量子位全球陷入“缺芯危机”。一位加拿大小伙儿一听说这事,立马坐不住了,立志要解决这个问题。他想了一想:芯片的主要原料不就是硅么,而硅一般是从石英石里提取的。于是,灵感爆棚的他发挥DIY精神,抄起家伙就开干。第一步,就从捡石头开始。至于提炼硅需要的设备有用到汤锅、电磁炉等厨具。再辅以牙刷抛光和小刀切割。最后,小伙把整个制作过程浓缩成一部只有99秒的视频教程,免费分享到网上。步骤相当完整,只是缺少亿点点细节那种(手动狗头)。△就是这种从石头到芯片首先小伙把捡来的石英石敲碎...
关注+星标公众号,不错过精彩内容来源 | 芯头条据台媒报道,全球供应链相当长又复杂,各业者按其所处产业与地位,供需状况其实不同,也就是所面对的缺货、长短料与需求反转的感受不一。但整体来看,随着疫情缓解,各式终端装置需求确实已由高峰正缓步回落,不过仍远高于往年表现,也因此IC还是缺,只是大部分IC已没那么缺。力积电董事长黄崇仁就说,有些芯片需求确实出现下滑,如面板驱动IC(DDI),但整体需求至2022年还是高,如用量难以估算的车用电源管理芯片(PMIC)或是部分网通IC就供不应求。而在终端装置需求方面,华硕共同执行长胡书宾直言,对...
关注+星标公众号,不错过精彩内容转自 | 痞子衡嵌入式今天给大家介绍的是i.MXRT上的普通GPIO与高速GPIO差异。GPIO 可以说是 MCU 上最简单最常用的外设模块了,当一些原生功能外设接口模块不能满足项目设计要求时,我们常常会考虑使用 GPIO 来软件模拟实现相应功能,这时候 GPIO 本身性能就显得至关重要了。在早期的 i.MXRT1015/1020/1024/1050 型号上,GPIO 都是普通性能(注意这里的普通其实相比一般低端 MCU 来说已经够性能优越了),考虑到 i.MXRT 是性能怪兽,需要配置更强的 GPIO,因此在后续的 i.MXRT1010/1060/1064/1160/1170 型号上,出现...
关注+星标公众号,不错过精彩内容作者 | 鱼鹰Osprey转自 | 鱼鹰谈单片机FAT 文件系统是什么,当你格式化 U 盘之后 U 盘发生了什么,为什么删除的文件还可以再恢复?买的 U 盘明明写着 16 G,实际却只有15 G,这里隐藏了什么事实?FAT 文件系统随着发展,经历了多个版本,从 FAT12 到 FAT16 再到 FAT32,exFAT,每一个版本的迭代都是容量的巨大提升……文件系统整体结构我们看看当你的 U 盘(16 G,作者亲自试验并图解)格式化为 FAT32 格式后,U盘发生了什么:这里将 U盘分成了三个分区,类似你将电脑的硬盘分成C盘、D盘、E盘,这里的新加卷、分...
关注+星标公众号,不错过精彩内容素材来源 | 网络编排 | strongerHuang自2020年下半年开始,芯片短缺就成为半导体行业的主旋律。2021年上半年,全球正在经历一轮史无前例的“缺芯危机”,全球汽车累计停产数约为300万辆,通用MCU芯片、手机芯片的供货周期也从3个月延长到12个月,甚至24个月。这固然与新冠疫情、雪灾、火灾等因素有关,但是有一点也很重要,那就是整个数字经济对芯片的需求大大提升。本月初,中国移动以“数即万物 智算未来”为主题的的大会在广州拉开帷幕。大会上,中国移动旗下芯片子公司中移芯昇(芯昇科技有限公司),发布了首...
关注+星标公众号,不错过精彩内容来源 | 码农的荒岛求生准确的来说,CPU不认识也不理解任何东西。CPU就像一个单细胞一样,本身不具备任何思考能力,没什么自己的想法,你给它一个刺激,它只是简单的会有一个反应。那这个刺激是什么呢?是电压,硬件感知到的仅仅就是电压。电压有两种,高电压和低电压。你马上就能反应过来,这就是01二进制,高电压代表1低电压代表0,0和1仅仅是人类可以理解的东西,硬件电路可不理解这玩意,它仅仅就是靠电流驱动来工作。让我们来看看这个简单的电路,这个就是与门:你能说这个电路理解它自己该做什么吗?它有自我...
关注+星标公众号,不错过精彩内容来源 | 安富莱TouchGFXTouchGFX以界面华丽,流畅以及强劲的TouchGFX Designer著称。官方地址:❝https://www.touchgfx.com/ 。❞2018年,正式被ST收购,当前主要用于STM32平台。下面贴几张TouchGFX实际的显示效果:imgimgimgimg下面是TouchGFX Designer的软件效果,功能比较强劲,让界面的创建变得比较容易:img关于TouchGFX的介绍就给大家说这么多,更多相关知识可以到TouchGFX的官网去查看。从上面的几张图可以看出,TouchGFX设计的界面效果还是很漂亮的。TouchGFX在STM32官方探索板或者评估板上面的演示效果:Tou...
关注+星标公众号,不错过精彩内容来源 | 与非网 美国阻挡EUV光刻机引入SK海力士无锡厂据外媒报道,韩国存储大厂SK海力士希望改造其在无锡的大型芯片代工厂,这座工厂占公司约半数DRAM芯片的产量,且占其全球产量达15%。SK海力士希望引入ASML最先进的EUV设备,升级无锡芯片厂的设备产品,控制成本并加速生产效率。但美国对此持反对意见,此前美国阻止中国采购EUV设备,如今的执行主体虽然是韩企,但由于会将先进技术引入中国,美国将扼杀这种风险。报道称,SK海力士内部担忧,如果美国持续阻挡,公司可能会在存储芯片竞赛中落后给三星电子、美光等...
关注+星标公众号,不错过精彩内容来源 | 电子电路开发学习在很多电路板或者电子产品上我们经常会看到下面这些标志,比如:Atmel开发板上的FCC标志、CE标志、手型标志、垃圾桶标志NXP开发板上的RoHS标志、RU标志NXP开发板上的手型标志、垃圾桶标志、Pb标志Arduino开发板上的CE标志、FCC标志东芝开发板上的RU标志闪迪U盘上的垃圾桶标志、KC标志、FCC标志、CE标志安信可ESP32 WiFi+蓝牙模块上的WiFi蓝牙标志、FCC标准、CE标志这些标志你都知道是什么意思吗?标志防静电标志防静电标志(标识)是防静电控制体系中不可缺少的一环,这些标志(...