自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

strongerHuang

文中关于360下载链接已失效,请微信公众号“下载区”获取更新链接。

  • 博客(3026)
  • 资源 (4)
  • 收藏
  • 关注

原创 更多精选文章列表

  为了让更多朋友看到我分享的内容,我经常在微信公众号「strongerHuang」分享一些优质的内容,主要包含:Keil、IAR、STM8、STM32、μC/OS、FreeRTOS、CANOpen、ModBus…等,在我的个人微信公众号「strongerHuang」底部菜单,或者回复【更多内容】即可查看。  因在这里分享文章,还需单独整理一遍,时间有限,有些文章则没有在我博客呈现,下面是部分...

2018-08-20 15:49:39 3873 1

原创 UCOS2_STM32移植过程、系统内核、事件描述(汇总)

推荐分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang我的网站:https://www.strongerhuang.com我的知乎:https://www.zhihu.com/people/strongerHuang.com移植过程:...

2016-07-01 18:11:33 19851 5

转载 免费版FreeRTOS和收费版SAFERTOS有啥差异?

开源免费的FreeRTOS由Richard Barry在WHIS工作时创建,WHIS基于FreeRTOS的功能模型,通过完整的HAZOP分析,确定了功能模型和API中的所有的弱点,减轻所有薄弱环节,并采用IEC 61508 SIL 3的开发生命周期,重新设计实现了SAFERTOS。嵌入式系统不断扩大的互联性导致了复杂的操作环境和越来越多的攻击媒介,增加了安全需求。SAFERTOS任务创建时,为每个任务添加了一个额外的MPU区域,用于访问用户任务堆栈,应用程序须确保任务的堆栈符合MPU关于对齐和尺寸的限制。

2025-05-31 09:29:40 27

转载 免费领3500分钟韦东山(华为官方认证讲师)鸿蒙.RTOS.单片机.RT-Thread.Linux.free-RTOS等实战教程

你没看错,免费领取韦东山(华为官方认证讲师)鸿蒙.RTOS .单片机 .RT-Thread.Linux.free-RTOS等实战教程3500分钟免费领取。对鸿蒙...RTOS...Linux...单片机 ...RT-Thread...free-RTOS等有强烈需求。华为官方认证讲师,他出版的教程涵盖单片机、RTOS、鸿蒙等几乎嵌入式的方方面面,今天部分教程免费领取。(注意:添加小姐姐微信时请备注“RTOS”或“鸿蒙”承诺:前300名联系的小伙伴,免费领取,无任何套路。找客服小姐姐免费领取。

2025-05-30 08:13:39 10

转载 分享一种用于MCU的功能安全软件

诊断功能包括MCU自诊断和双MCU之间的交叉监控功能,PLSW软件集成了自检软件代码,自检软件可对CPU,ROM,RAM进行永久失效诊断,诊断覆盖率达到90%,同时PLSW软件的MCU诊断功能,支持对PLSW所使用的RAM和外设进行瞬时失效诊断,自检软件代码的使用具体可以参考自检软件套件说明文档。PLSW软件针对冗余系统的安全处理器设计,部署于双安全MCU硬件平台,实现MCU/MPU内部自诊断和双MCU之间的交叉监控功能,实现应用层的任务调度功能,实现各个应用以及各应用与PLSW软件的分区功能。

2025-05-29 18:34:39 38

转载 单片机IO口如何模拟成串口?

接收的逻辑是:当RX引脚检测到下降沿时,进入GPIO中断,然后开启一个定时器,第一次定时器周期设置为1/波特率的一半(目的是为了在中心处判断是否为低电平,以表示是否为起始位),再之后就可以设置定时器周期为1/波特率,每隔此周期在定时器中断服务函数里去采样RX引脚电平,将数据接收完毕。1/波特率的一半 周期只有约4us,而起始位的代码执行时间已经接近4us,所以定时器周期还没有更新生效的时候,原来的一半周期中断又来了。经分析原因是随着波特率的提高,定时器的周期越来越短,当波特率为115200bps时,

2025-05-28 17:00:00 63

转载 分享几种用于单片机的恒温控制方法

将模糊控制与PID结合多,以Fuzzy-PID混合控制为例,据给定值与测量值之偏差e选择智能控制器,根据e的变化选择控制方法,当|e|≤emin或|e|≥emax时,采用PID控制;遗传PID温控系统将测量值与给定值进行比较,用遗传算法来优化PID参数,然后将控制量输出,实现将PID参数串接构成完整染色体,从而构成遗传空间中的个体,过通过繁殖交叉和变异遗传操作生成新一代群体,经过多次搜索获得最大适应度值的个体。在实际应用中,根据具体的应用场合、不同的加热对象、不同的控制要求和控制精度,选择不同的控制方式。

2025-05-28 08:20:32 94

转载 冯诺依曼和哈佛架构的区别

存储器中的指令和数据被混合存储,指令可以被当作数据进行处理,因此程序可以动态地修改自身代码,容易受到病毒、恶意程序等攻击。总体来说,冯诺依曼架构适用于大多数通用计算机,它能够灵活地处理各种不同的计算任务,同时还可以使用缓存等技术来优化性能。在哈佛架构中,指令和数据存储在不同的内存中,CPU可以同时访问指令和数据内存,因此可以同时执行多条指令。哈佛架构适用于一些特定的应用领域,例如需要高效地处理大量数据的嵌入式系统,或数字信号处理器等领域。我们的电脑所使用的Intel X86 CPU,就是冯诺依曼架构的。

2025-05-27 18:10:44 24

转载 电机控制牵涉到的那些技术

包括德州仪器 (TI) 的CLA、ARM 的 Cortex-M DSP 扩展、意法半导体的 ART 加速器、Microchip 的 dsPIC、恩智浦 (NXP) 的电机控制协处理器以及英飞凌 (Infineon) 的 XMC 数字协处理器,都提供专门的处理单元, 以增强特定嵌入式系统应用的性能。此外,PWM模块的设置方式需要确保 ADC 采样、ISR 和 PWM 时序之间的同步。在使用旋转变压器测量角速度的情况下,旋转变压器数据的处理必须是同步的,并且必须选择正弦和余弦信号幅度最小的点,以确保读数准确。

2025-05-25 20:33:54 423

转载 嵌入式软件版本后缀类型有哪些?

基本上我们公司引入的第三方供应商软件比如是这个阶段的版本,特别是量产设备强制使用 GA,并锁定版本号(如 v2.3.4 禁止自动升级)工业设备现在基本上都是“十年之约”,5-10 年维护的超级稳定版,如 Ubuntu Core 22 LTS。原型机的“实验代码”,也就是每日构建的未经验证版本,如 xxx-Kernel-SNAPSHOT。量产的“安全基线”,也是官方全面支持的稳定版本,如 Linux LTS 6.1.y。量产前的最后防线,也是潜在的量产版本,如 xxx v5.1-rc。

2025-05-25 20:33:54 186

转载 单片机跑RTOS相比裸机的优势

单片机跑RTOS相比裸机的优势。单片机跑RTOS相比裸机的优势。单片机跑RTOS相比裸机的优势。

2025-05-23 19:10:36 26

转载 卷?MPU内置DDR3L、支持RTOS

RZ/A3M基于以上功能,可满足更多功能需求和更广泛的HMI/图形应用场景需求,包括实时绘图、流畅的精灵动画、USB摄像头捕捉等。RZ/A3M - 功能强大的 1GHz MPU,内置 DDR3L SDRAM,用于高清 HMI | Renesas 瑞萨电子。RZ/A3M - 功能强大的 1GHz MPU,内置 DDR3L SDRAM,用于高清 HMI | Renesas 瑞萨电子。RZ/A3M-功能强大的1GHz MPU,内置DDR3L SDRAM,用于高清HMI | Renesas 瑞萨电子。

2025-05-23 19:10:36 73

转载 微软正式开源WSL

起初,WSL 基于一个微进程提供程序 lxcore.sys,使得 Windows 能够原生运行 ELF 可执行文件,并在 Windows 内核中实现 Linux 系统调用,被称为 “WSL 1”,且至今仍受支持。我们已经看到社区在没有源代码的情况下为 WSL 做出了巨大的贡献,我们迫不及待地想看到,在社区能够直接为项目贡献代码之后,WSL 将如何发展。我们很幸运,人们分享他们的知识,并花费无数的时间来帮助追踪错误,找到实现新功能和改进 WSL 的最佳方法。如果没有社区的支持,WSL 就不可能有今天的成就。

2025-05-22 17:02:29 69

转载 结合源码讲述单片机项目模块是设计的方法

完成的使用例子可以参考platform-lowpower.c,默认情况下是禁用低功耗功能的,读者可以去除工程中原来不带低功耗版本的platform.c,并加入platform-lowpower.c文件进行编译即可使用。以按键扫描为例,正常情况下,如果按键没有按下,那么系统休眠可以进入休眠状态,对按键功能是没有影响的。如果按键按下时,那么系统需要定时唤醒并轮询按键任务。对于第二种情况,可以通过pm_dev_register来处理,当系统请求休眠时,如果此时按键按下,则返回下次唤醒时间即可,如下面的例子所示。

2025-05-22 17:02:29 37

原创 分享一个用于Arduino的STM32 FreeRTOS库

在 Cortex-M0 和 Cortex-M0+ 上,xTaskCreate() 和 vTaskStartScheduler() 之间所有的 IT 都被禁用了。这就是为什么在示例 "frLiyLayland" 中,在 xTaskCreate() 和 vTaskStartScheduler() 之间, 我们使用直接的 printf(),它将直接访问 USART 而不使用中断。具体的细节,本文不展开描述,熟悉FreeRTOS的同学,对这些配置并不会觉得难。微信公众号 | strongerHuang。

2025-05-21 12:26:45 853

转载 如何高效定制嵌入式Linux系统?

能在较短时间内提供简单的嵌入式系统,但它的局限性在于对复杂项目和频繁变化的软硬件需求的支持不足。随着嵌入式开发项目规模的扩大,方文档的基础上,结合笔者多年的嵌入式开发经验,提炼核心理论框架,使其易读易懂。开发者通常会遇到一些独特的挑战,这些挑战既来自其高度灵活的工作流,也来自其复杂的构建环境和性能要求。项目,从技术学习到工程实践,再到社区分享,他不仅积累了丰富的经验,更具备将复杂问题系统化、结构化的能力。此外,软硬件协同优化难度大,不同平台资源受限,优化策略难以通用,进一步提高了开发门槛,使。

2025-05-21 12:26:45 1025

转载 小米玄戒O1核心架构跑分曝光!

泄露的规格显示,XRing 01 SoC 采用十核架构,包括两颗主频 3.9GHz 的 Cortex-X925 主核、四颗主频 3.4GHz 的 Cortex A725/X4 核心、两颗主频 1.89GHz 的 Cortex A720/A725 核心,以及两颗注重能效、主频 1.8GHz 的 Cortex A520 核心。联发科的天玑 9400 是更具可比性的芯片,但即便如此,该芯片仍采用更保守的八核架构,仅配备一颗 Cortex-X925 主核。MCU低功耗由哪些因素决定?来源 | EETOP。

2025-05-20 17:05:50 2238

转载 嵌入式必备工具 CMake 的关键用法

各司其职,这种 “分而治之” 的思想是嵌入式项目管理的精髓。:将头文件路径暴露给依赖它的模块,确保其他代码能调用库函数。让 CMake 自动扫描子目录的配置文件,简化顶层逻辑。实际部署时,需确保库文件在系统库路径中,否则运行会报错。:一套配置文件,适配 ARM、x86 等多种架构。:轻松分离驱动层、库和应用程序,代码结构一目了然。选项:生成独立的动态链接库,可被多个程序复用。:仅在应用程序内部使用头文件,不对外暴露。:创建静态库,代码将直接嵌入可执行文件。将静态库、动态库与主程序绑定。

2025-05-20 17:05:50 29

转载 多核MCU相比单核MCU有哪些优势?

多核MCU相比单核MCU有哪些优势?多核MCU相比单核MCU有哪些优势?多核MCU相比单核MCU有哪些优势?

2025-05-19 17:03:00 52

转载 基于 MPU 的 SoftPLC 方案

PLCnext是菲尼克斯电气推出的工业自动化生态系统,提供丰富的系统组件、服务组件、IO组件等可帮助客户快速完成底层平台部署。SoftPLC就是"软"PLC,是一种基于PC的开放结构的控制软件,它能将工业PC转化为像PLC一样的处理控制器。SoftPLC,顾名思义,是运行在工业PC上的一个实时多任务控制内核,它既有所有硬PLC的特性, 又具有自己的特性,即开放结构系统。20:00-20:30 基于瑞萨RZ/G2L的IEC61131 SoftPLC软件解决方案。,确认并回复特定信息后,工作人员将寄出奖品。

2025-05-19 17:03:00 51

转载 量产级别代码,单片机通过WiFI进行OTA固件升级

STM32F103C8T6一共64K,FLASH一共64页,每页1K,bootloader分8K,FLAG分2K,APP1与APP2各27K,也就是我们的应用程序,编译出来不能超过27K的大小。这样,在烧录的时候,就可以直接烧录APP到0x08002000了。,将APP2的部分copy到APP1,copy完之后再清空FLAG区域的升级标志,然后重启,就会运行新的APP1也就是升级后的程序了。,最后一包接收完之后,就将FLAG区域的升级标志位设置为相应的标志数据,然后重启,就回到上面的升级流程了。

2025-05-18 17:25:32 55

转载 如何防止嵌入式系统数据丢失与损坏?

前面也提到了,掉电过程是数据丢失和损坏比较高发的状态,一方面离不开硬件上掉电备电电源的相对稳定性和持久性,另一方面也需要软件部分最好掉电过程系统完整的收尾工作,最常见的问题就是正在掉电,你还在使劲的写文件或者其他改变存储介质的操作,运气好可能只是文件写少了;常见的闪存产品如NAND和NOR闪存都有固定的P/E周期数量,一般在几千到几十万次之间,所以如果频繁擦写就会导致损坏,最终也会使得数据丢失,另外,闪存的寿命还受到温度、电压以及擦除/写入操作的影响。减少写入放大可以减少对闪存的写入操作,从而延长其寿命。

2025-05-16 17:00:00 65

转载 拆解JBL苹果专用音响:做工和用料还是靠谱的

ESD损坏的范围从轻微的性能下降到完全的器件故障。底部排线,12V供电与3.5音频接口,排线怎么这么多,音频线有7根,电源线有6根,盲猜电源线是分多路供电,所以在这个电源小板就分开了,音频接口7根,可能是该接口支持输入也支持输出。整块主板,最明显的就是左下角的21焊盘底座,应该是蓝牙的模块,预留,没有焊接,还有右下角的那个接口,也是没有链接任何东西,左边接口是扬声器。今天拆个音响,JBL品牌的,来源是垃圾堆里捡的,一天去朋友那边,路过小区垃圾堆,捡到的,随手装包里,寻思研究下看看里面有啥配置。

2025-05-16 08:20:31 67

转载 真心建议嵌入式工程师冲冲这个新兴领域,工资高前景好!

是衡量大语言模型“从量变到质变”的关键,是针对特定场景的AI解决方案。是指运行一段具有特定功能的代码块的行为,以增强其处理能力,实现更复杂的任务,使大模型能够集成外部工具和资源,提升交互性和实用性。AI大模型技术实战—— Transformer 架构的 核心原理、应用 Fine-tuning 技术,精准微调AI大模型,制造、医疗、金融等各行业都在加速AI应用落地,未来企业更看重能用AI大模型技术重构业务流的技术人。老师们将大模型技术原理讲透的同时,还将丰富的商业化AI应用项目无偿分享,帮大家快速打通。

2025-05-16 08:20:31 577

转载 分析Linux内存占用的几个方法

v3.3.10中的项。free 这一项是(free + buffers + cached)的值,是真正未使用的内存的值。内存的瓶颈是由scan rate (sr)来决定的.scan rate是通过每秒的始终算法来进行页扫描的.如果scan rate(sr)连续的大于每秒200页则表示可能存在内存缺陷.同样的如果page项中的pi和po这两栏表示每秒页面的调入的页数和每秒调出的页数.如果该值经常为非零值,也有可能存在内存的瓶颈,当然,如果个别的时候不为0的话,属于正常的页面调度这个是虚拟内存的主要原理.

2025-05-15 08:20:45 38

转载 灵动MCU在人形机器人领域电机控制应用

的MM32F5370 产品,搭载安谋科技“星辰”处理器,基于Armv8-M架构,内核动力强劲,具备强大的实时控制性能,可满足三电机控制、数字能源、人性机器人等领域的高可靠性应用开发需求。,免费提供20套开发板用于试用。更多开发板试用活动细节、灵动Mini-F5375-OB开发板的深度解读与灵动MCU在人形机器人领域电机控制应用的分享,请扫码下方二维码加群预约今晚八点极术公开课。极术社区开设开发板技术专栏,并特别邀请灵动技术专家开展线上讲座、在活动支持群进行答疑,让开发者畅享开发体验。即报名免费申请开发板。

2025-05-15 08:20:45 50

转载 如何轻松在MPU上部署离线版DeepSeek -R1大语言模型

如何轻松在MPU上部署离线版DeepSeek -R1大语言模型。如何轻松在MPU上部署离线版DeepSeek -R1大语言模型。如何轻松在MPU上部署离线版DeepSeek -R1大语言模型。(点击链接,阅读原文)

2025-05-14 08:20:34 34

转载 嵌入式调试日志需要考虑哪些内容?

当我们的函数设计有多个功能函数模块的时候,当某个模块出现问题时,这个时候我们只是关心此模块,那么可以先把其他模块的日志功能关闭掉,只是打开关心模块的日志。使用日志动态过滤控制功能可以动态地调整日志地输出,但前提是项目使用地日志组件具备这样的能力。这样我们就可以在日志文件里通过模块标签来筛选某个模块的日志,提高我们定位问题的效率。在Release版本中,可能需要减少日志输出或者去掉一些不必要的日志,需要一个开关来进行切换。分支判断中,各执行分支需要加上对应的日志信息,可以帮助我们准确地知道程序执行的走向。

2025-05-14 08:20:34 36

转载 嵌入式必备工具 CMake 的使用套路!

各司其职,这种 “分而治之” 的思想是嵌入式项目管理的精髓。:将头文件路径暴露给依赖它的模块,确保其他代码能调用库函数。让 CMake 自动扫描子目录的配置文件,简化顶层逻辑。实际部署时,需确保库文件在系统库路径中,否则运行会报错。:一套配置文件,适配 ARM、x86 等多种架构。:轻松分离驱动层、库和应用程序,代码结构一目了然。选项:生成独立的动态链接库,可被多个程序复用。:仅在应用程序内部使用头文件,不对外暴露。:创建静态库,代码将直接嵌入可执行文件。将静态库、动态库与主程序绑定。

2025-05-13 18:35:46 46

转载 STM32N6到底凝聚了哪些黑科技?

2025年5月15日和17日,STM32峰会将通过线上主题演讲、线上训练营等形式,展示意法半导体“在中国,为中国”战略、STM32最新产品、应用及生态,探索前沿技术。AI技术正迅速渗透至智能家居、工业自动化等多领域,但传统MCU算力不足,难以满足实时AI处理需求。如今,意法半导体(ST)推出的STM32N6,作为全球首款集成NPU的MCU,如今,意法半导体(ST)推出的STM32N6,作为全球首款集成NPU的MCU,5月15日,高层解读STM32最新产品及应用,掌握前沿技术趋势。

2025-05-12 08:21:12 77

转载 分享一种嵌入式代码常用的注释风格

文件声明了多个概念, 则文件注释应当对文件的内容做一个大致的说明, 同时说明各概念之间的联系. 一个一到两行的文件注释就足够了, 对于每个概念的详细文档应当放在各个概念中, 而不是文件注释中。文件注释描述了该文件的内容,如果一个文件只声明,或实现,或测试了一个对象,并且这个对象已经在它的声明处进行了详细的注释,那么就没必要再加上文件注释,除此之外的其他文件都需要文件注释。注释固然很重要, 但最好的代码应当本身就是文档,有意义的类型名和变量名, 要远胜过要用注释解释的含糊不清的名字。看一份源码什么很重要?

2025-05-12 08:21:12 139

转载 单片机中的三种存储区

ZI (Zero Init): 没有进行初始化或者初始化为0,系统上电时会主动把此区域数据进行0初始化,下文的.bss段就是. 另外, 可翻看Keil工具编译的map文件,Heap和Stack区也进行了Zero的属性标注, 因此,Heap和Stack也可认为是ZI区域。,Flash只能将数据位由1写成0,不能从0写成1,所以在对存储器写之前必须先执行擦除操作,擦操作的最小单位是一个区块,而不是一个字节。用来存放初始化不为0的全局变量(global)和静态变量(static),它是可读可写的,属于图中的。

2025-05-11 08:20:55 53

转载 PCB焊盘中这些讲究

焊盘的内孔一般不小于0.6mm,因为小于0.6mm的孔开模冲孔时不易加工,通常情况下以金属引脚直径值加上0.2mm作为焊盘内孔直径,如电阻的金属引脚直径为0.5mm时,其焊盘内孔直径对应为0.7mm,焊盘直径取决于内孔直径。焊盘,表面贴装装配的基本构成单元,用来构成电路板的焊盘图案(land pattern),即各种为特殊元件类型设计的焊盘组合。2、焊盘间距,焊盘的间距过大或过小都会引起焊接缺陷,因此要确保元件端头或引脚与焊盘的间距适当。当焊盘连接的走线较细时常采用,以防焊盘起皮、走线与焊盘断开。

2025-05-11 08:20:55 96

转载 MCU无感OTA升级功能

这时通过PC端的Tere Term发送版本6.0.0版本的BIN文件,并进入OTA流程,可以观察到电机保持运行,同时持续接收新的固件并写入到Bank1的对应地址,当写入完成后,切换bank并进行复位,复位过程电机会有几秒钟的时间停下来,当新的软件版本启动后,电机会重新启动加速并控制转速在500RPM运行。架构可以支持Flash的操作库在后台运行,可以定义一个回调函数注册,这样当Flash完成擦除和写入命令时,就直接进入后台操作,不会阻塞主循环和中断。为工程师带来了几乎“零感知”的升级体验。

2025-05-09 17:04:41 685

转载 RTOS任务和裸机状态机有什么区别?

那么就绪的任务就有可能是多个,也就是说在同一时刻,多个任务有可能都就绪了,至于调度器究竟让哪一个任务先运行呢,这就是调度器调度算法的职责了,根据其内部的调度算法策略进行调度管理。所谓阻塞态,可以简单理解是任务被卡在了哪里,该任务不会继续往下运行,直到阻塞解除,被转入就绪态,然后被调度至运行态。注意是就绪态而非运行态,进入运行态是调度器实现的。此类任务主要用于任务间,或者任务与中断间同步或通讯的目的,在等待某一个消息或者事件的时候,将该任务阻塞而不是裸奔的查询等待,本质上就是为了提高CPU的利用率的。

2025-05-08 18:32:04 191

转载 如果把人生比作电路······

男人的心就像是三极管放大器,恋爱时是共基极的,你的付出总可以在他那得到几百倍的回报,但是结婚后,就改成了共集电极了,往往你的付出都是得不到等价的输出了,兴许过了七年之痒,没心肺的那部分男人还会变成共射极,这时候的输出虽然放大很多,却是反相了,和你的期望完全不同了。如果你爱一个男人,就和他结婚吧,男人的爱情就像绝缘栅场效应管,一般不可以测,所以,你千万别用你的闺蜜好友啥的来试他,男人的防线就如模电老师形容那管子一样,一测试就坏,而且,就算坏了,你还不知道他是什么时候坏的。暗恋就像根二极管,总是单向的电流。

2025-05-08 18:32:04 442

转载 嵌入式软件,有必要进行自测吗?

有时候,我们也会供给我们的团队成员调用,或是其他部门的同事使用,我们在交付出去进行联调之前,需要保证质量,也能免去后面很多的联调成本。设计的软件可测试性强,我们就能在开发阶段进行充分地测试,在开发阶段尽可能多地解决一些逻辑上的问题,从而保证更高质量地软件交付。方式二,计算所依赖的数据都通过函数参数留出来了,我们可以很方便地对函数进行测试,可以很方便地输入不同的数据组合。所以,我们尽可能地在释放给测试之前,进行一个完整的自测,减少一些不必要的bug产生(主路径bug)。你们平时写的软件,有自测吗?

2025-05-07 08:20:58 56

原创 学单片机,有必要寄存器吗?

同时,这也是你的一项核心竞争力。使用寄存器可以直接控制硬件,这个在早期的单片机(比如51、MSP430等)特别明显,大多数都是直接寄存器编程。直接操作寄存器可以绕过库函数的中间层,减少代码体积、提升执行效率,这在资源受限的嵌入式系统中尤为重要。以前51单片机的寄存器相对较少,现在Cortex-M内核单片机的寄存器很多,学不完、背不完,该怎么办?做过大型项目的工程师,绝大多数都是学习过寄存器的,而且深入掌握寄存器底层原理。如果你单片机的Flash、RAM资源有限,你会发现使用寄存器的多么的重要。

2025-05-06 12:12:22 565

转载 多协议工业以太网 IO-Link 有啥特点?

在IO-Link使用中,要面对各种配置软件,如codesys,TwinCat,sysmac studio,autoshop,TIA Protal等,对IO-Link参数、ISDU的配置各种各样,需要使用者多熟悉了解。而EtherCAT专注于提供更低的通信延迟和更高的实时性能,通常以微秒级的延迟进行通信,满足工业自动化领域对高速实时通信的需求。Profinet,EtherCAT,Ethernet/IP是工业自动化领域中常用的实时以太网通信协议,它们各自具有不同的特点和优势,适用于不同的应用场景。

2025-05-05 09:12:21 47

转载 GitHub惊现81k星逆天项目!程序员如何学做菜,米其林厨师看完沉默了…

继续往下看菜单,我简直震惊了, 这也太牛了,厨房准备到锅的选择、到焯水、凉拌等等,直到各种高阶菜的做法都有。你吃过的、见过的菜,这里几乎都能找到,你没吃过的、没见过的菜,这里可能也有。我说白了,我白说了:在我这样的大厨看来难度也非常高的可乐鸡翅,在这个菜谱里烹饪难度只有三星,这犹如给我扔了一个二向箔,完全属于降维打击了。这个数据,在GitHub算是非常亮眼了。最关键的是,这菜谱它在不断的更新,而且有几百人参与更新,估计未来会有更多人参与进来,所以对于不会做菜但是想做菜的人来说,真是一套非常好的教程。

2025-05-03 22:30:16 319

STM32F4_TIM编码器模式配置

现在好像下载资源分最少都要两个了··· 提供的代码为一个使用标准外设库编写的简单Demo工程,该工程主要配置TIM的编码器模式,通过定时读取编码器的方向(DIR),和计数(CNT),并通过串口打印出来。 其中里面附带一个工程(用于模拟编码器AB相波形的工程)

2017-12-19

神舟III号各项uCOS2.92例程

此压缩文件包含基于神舟III号(STM32F103ZE Cortex-M3)上各项uCOS2.92(最新版本2013年)的实例。多任务操作 通信、信号量、互斥锁、事件标志、消息邮箱、消息队列、内存管理 以及uCOS2后面添加的软件定时器! 已经将uCOS系统注释为中文版了!

2013-07-28

uCOS2_STM32F3_CortexM4

此文件是将uCOS2.92系统成功移植STM32F303VC(Cortex-M4内核)上运行了四个任务。 是一个完整的工程包,下载来可直接运行,开发工具为MDK-ARM.

2013-07-28

uCOS2.92_MSP430F149

uCOS2.29最新版本移植到MSP430F149上面的工程代码!开发工具为IAR,创建了4个任务。

2013-07-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除