自定义博客皮肤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下载链接已失效,请微信公众号“下载区”获取更新链接。

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

原创 更多精选文章列表

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

2018-08-20 15:49:39 3866 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 19830 5

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

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

2025-05-16 17:00:00 17

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

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

2025-05-16 08:20:31 27

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

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

2025-05-16 08:20:31 205

转载 分析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 18

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

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

2025-05-15 08:20:45 25

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

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

2025-05-14 08:20:34 21

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

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

2025-05-14 08:20:34 20

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

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

2025-05-13 18:35:46 24

转载 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 43

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

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

2025-05-12 08:21:12 116

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

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 33

转载 PCB焊盘中这些讲究

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

2025-05-11 08:20:55 59

转载 MCU无感OTA升级功能

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

2025-05-09 17:04:41 580

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

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

2025-05-08 18:32:04 179

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

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

2025-05-08 18:32:04 429

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

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

2025-05-07 08:20:58 50

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

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

2025-05-06 12:12:22 549

转载 多协议工业以太网 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 35

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

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

2025-05-03 22:30:16 283

转载 单片机开发,必须用Keil吗?

单片机开发,必须用Keil吗?单片机开发,必须用Keil吗?单片机开发,必须用Keil吗?

2025-04-30 17:30:45 39

转载 手把手教你玩转Arduino UNO R4

它们与 A4 (SDA) 和 A5 (SCL) 共用,这是前代 UNO 的用户所熟悉的。这是 UNO R3 到 UNO R4 的几个明显不同之处之一,因为 UNO R3 只有一个硬件串行端口,它连接到板上的 USB 端口和 RX/TX 引脚。UNO R4 Minima 为您提供了许多不同的引脚,其中许多都具有特殊功能,将在本文接下来的部分中说明。UNO R4 Minima 有一个最多 12 位分辨率的 DAC,可以作为真正的模拟输出引脚,这意味着它比 PWM 引脚的能力更强。

2025-04-30 17:30:45 84

转载 瑞芯微RK3562性价比之王

瑞芯微RK3562性价比之王,四核A53+NPU国产工业平台。(点击链接,阅读原文)

2025-04-29 12:12:15 43

转载 单片机常用通信接口及原理

当设备插入PC机的时候,会将PC机的D-或D+端的电压拉高,当PC机在D-或D+端检测到高电平时,就知道有设备插入了。如果是PC机D+端被拉高,接入的则是USB全速或高速设备,具体是全速设备还是高速设备,会由PC机和USB设备发包握手确定。Inter-Integrated Circuit,字面上的意思是集成电路之间,它其实是I²C Bus简称,所以中文应该叫集成电路总线,它是一种串行通信总线。Serial Peripheral Interface,串行外设接口,是一种高速的,全双工,同步的通信总线。

2025-04-29 12:12:15 444

转载 单片机待机功耗0.25uA处于什么水平?

待机功耗的RA0E2系列单片机,它是继RA0E1之后的一个全新系列MCU,RA0E2具有出色的成本效益和超低功耗。采用Cortex-M23内核,频率高达32MHz,搭载高达128KB的嵌入式闪存和16KB的SRAM,支持-40至125°C的宽工作温度范围。全汉基于开放的软件生态系统,为客户提供灵活的产品开发,包括使用现有软件资产和合作伙伴生态系统解决方案。RA0E1及RA0E2提供从32KB到128KB闪存以及16pin到64pin的封装选项,组成更丰富的产品线,适用更多的应用。

2025-04-29 08:21:09 26

转载 嵌入式代码如何写才能方便移植?

应该说,C 比较好的继承了这一点,C 语言非常简洁,非常强大,而由于 C 语言诞生的比较早,当时的面向对象的思想还不成熟,所以出现了大量的过程式的 C 应用,从而给人们一种 C 语言是面向过程的语言的错觉,其实 C 只是提供了一些简单,强大而通用的能力,至于你想将其搭成什么样的积木,则全靠你自己了。这样的好处是,实现者可以在不接触接口使用者的代码的情况下,对实现进行调整。虽然如此,但是不可否认,这些所谓的纯面向对象的语言,在其代码的可读性以及与人的自然思维的匹配方面,比面向过程的语言要好的多。

2025-04-28 08:20:46 24

转载 关于0Ω电阻那些事

在实际的操作中,你可以用比较小的封装的0Ω电阻,比如0402和0201,焊接的时候直接用烙铁将两端搭接在一起就可以,这样连电阻也省了。不过,这些电阻就不常规了,比如这个罗姆的超低阻值电阻,最大阻值0.5mΩ,小了100倍,额定电流更是达到了20A+,但是价格比较贵,要好几毛钱,而普通电阻一分钱能买好几个。如果你的设计是新的,对PCB板上很多部分的功能以及能够实现的性能还不确定,拿回板子来将会面临一场惊心动魄的调试,debug的一个重要原则就是把问题限定在最小的范围内,因此多块电路之间的隔离就非常重要。

2025-04-28 08:20:46 166

转载 电机运动控制S曲线算法

本文只对7段的S曲线规划做了详细的推导和介绍,matlab中的程序对于4段和5段都有做实现,很多是在理想情况下进行推导的,初始速度默认为0,终止速度也为0,并且假设加减速区域相互对称。这里有一个隐性的条件,就是在运行的过程中可以达到最大速度,这样才是完整的。S形加减速的速度曲线平滑 ,从而能够减少对控制过程中的冲击,并使插补过程具有。程序亲测可以运行,做了简单的修改, 因为这里直接给定了整个运行过程的时间,所以需要在。由于S曲线在加减速的过程中,其加速度是变化的,因此这里引入了新的一个变量。

2025-04-26 08:20:41 125

转载 RTOS 上微秒级延时的方法

之所以说是“着情”提高的原因是:系统时钟越快,单位时间内的线程调度次数越多,也就是说花在调度的时间会大幅增加,这对线程的功能不利。但是在多线程情况下延时依旧有可能发生重入,比如一个线程要延时 500us,刚过 100us 另一个线程就要延时 200us,这种情况不但发生了重入,还有“时间覆盖”(200us 覆盖了上一个线程剩余的 400us 里的时间段),这些情况也不是光靠一个硬件高精度定时器就能应对的。这里注意是“先关闭再打开”,上面提到了“时间覆盖”的情况下做延时,就必须先关闭正在延时中的定时器。

2025-04-26 08:20:41 107

转载 嵌入式代码安全检查:选if还是assert?

如果没有定义宏 NDEBUG,那么 assert() 宏将会把一些检查代码进行替换,我们在开发阶段执行 debug 模式编译时,一般都会屏蔽掉这 NDEBUG 这个宏。今天就给大家分享一下相关的内容。:以上这 2 种检查方式,在实际的代码中都很常见,从功能上来说似乎也没有什么影响。,当在 release 阶段编译代码的时候,都会在编译选项中(Makefile)定义这个宏。,我就预料到调用者会乱搞,故意的传入一些无效参数,来测试我的编码水平。2. 如果宏的参数是零值,就打印诊断消息,然后调用abort()。

2025-04-25 08:21:10 85

原创 MCU主流开发语言有哪些?

Python虽然不常用于传统的单片机编程,但一些微控制器如MicroPython和CircuitPython支持Python语言,使得开发更加简化。C语言是最常用的一种用于单片机的开发语言,也是一种高级编程语言,具有较好的可移植性和可读性。C++是一种基于C语言的面向对象编程语言,尽管在单片机领域使用相对较少,但还是一些现代的单片机也开始支持C++。同时,随着单片机性能和资源的增强,开发单片机的语言也越来越多了。一些用Java语言,但JAVA需要运用虚拟机,需要在高性能的单片机上运行。

2025-04-24 19:00:00 766

转载 MCU ADC外部参考电压变化了怎么办?

使用这个方法也是有一定的局限性,因为它需要ADC先采集Bandgap通道电压,后采集实际通道电压,如果恰好在这个采集过程中参考电压出现了剧烈的变化,那么转换出来的值也是不准确的,因为反推出的参考电压已经变了,当然这种情况出现的几率相对较小,对于大部分场景这么用是没问题的。使用VREFBUF就方便很多了,只需要采集需要的通道即可,需要注意采集的电压值不能超过VREFBUF电压值,比如采集的电压值是3V,那么就需要做分压后采集。它可以支持2种电压2.048V和2.5V,这个电压是可以直接作为ADC参考电压的。

2025-04-24 08:20:25 180

转载 进DeepSeek了!11w*14薪....

以上项目是一套通用的解决方案,可以从中整理出面向不同业务的相似实现,适合大型互联网、自动驾驶、工业缺陷检测、智能问答、推荐系统、医疗、农业等等不同的应用场景,在整个授课过程中,老师更加注重是业务与思想的传播,让你轻松应对工作中的问题并且有举一反三的能力。2、咨询我的时候也很担心自己非科班,没有相关工作经验,怕转型失败,好在最后做出了正确的决定,加入课程学习。师资,都是在职大牛授课,项目真正来源于企业实际应用,才能做到所学皆所用,保障就业。高薪,是AI领域缺人的事实依据,但是找不到工作的大有人在,也是事实。

2025-04-24 08:20:25 61

转载 分享Keil几个实用的调试组件

与上面第5点对应,组件查看器仅支持CMSIS RTOS v2,组件查看器窗口显示的静态信息,帮助分析软件组件的操作。(有些第三方调试适配器硬件,如之前的 J-Trace Pro,不支持Keil 中的 ETM 流跟踪,换句话说,不能与性能分析器一起使用)有很多网友反应,Keil MDK在调试的时候,会遇到各种问题,下面就简单讲述一下Keil MDK调试时,软件和硬件的一些要求。Keil MDK支持的调试功能有很多:组件查看器、事件记录器、事件统计、数据和事件跟踪、指令跟踪等。微信公众号 | 嵌入式专栏。

2025-04-23 08:29:12 51

转载 PCB设计时常见的电路

半波整流电路,即把“交流电压”转变为“脉动直流电压“。所谓“脉动直流电压“,是指电压方向(正负极)不变,但大小随时间变化。搞电子电路设计,实践很重要,但实践是建立在理论知识上来的。就好像上大学时很多人浑浑噩噩,但只要经历了四年,总会有点不一样的。下面整理了一些常见的电路,以动态图形的方式展示。有些图看不懂也没关系,感受过,就有收获。直观感受电路信号波形:半波整流电路。4、全波整流与半波整流对比。18、4位十进制计数器。1、单相桥式整流电路。2、单相半波整流电路。5、半波精密整流电路。6、半波整流波形分析。

2025-04-23 08:29:12 60

原创 对比 µCOS 与 FreeRTOS 风格差异

FreeRTOS也明确指出采用 MISRA C编码标准,但是不支持 C99 之后的标准,也支持 PC-Lint 静态检查。µCOS作为曾经的“网红”RTOS,虽然现在新人没怎么关注了,但它的编码风格依然值得初学者学习和了解。FreeRTOS就比较直接,这个可能是刚才是命名的时候没有长期规划,然后为了兼容,一直沿用至今。两种RTOS配置文件(也就是所谓的“裁剪”文件)的“内容”有点类似,也是进行了分类。注释的位置也是有讲究,通常在代码所在行上一行,或者在代码所在行(代码后面)。不同的领域,有不同的缩写方式。

2025-04-22 17:30:00 978

转载 分享一款Modbus轻量级 C 语言库

包含读线圈(01)、读寄存器(03/04)、写单寄存器(06)、批量写(15/16)等常用功能,甚至支持文件记录读写(20/21)和设备识别(43/14)等高级操作。传统 Modbus 库往往功能庞大,占用较多内存和计算资源,难以在微控制器等硬件资源有限的环境中运行。通过本文的介绍,希望您能快速掌握 nanoModbus 的核心能力,为您的嵌入式项目增添高效通信支持。在工业自动化、物联网设备开发中,Modbus 协议凭借其简单可靠的特点,成为设备通信的常用标准。:RTU(串口)和 TCP(网络)双支持。

2025-04-22 08:20:39 160

转载 月薪已炒到6W?强烈建议大家冲一冲这个新兴领域

AI大模型技术实战—— RAG、Agent、Transformer 架构的 核心原理、应用 Fine-tuning 技术,精准微调AI大模型,是指运行一段具有特定功能的代码块的行为,以增强其处理能力,实现更复杂的任务,使大模型能够集成外部工具和资源,提升交互性和实用性。2节直播课,为你展示如何利用RAG、Fine-tuning的技术来改善大语言模型的使用!老师们将大模型技术原理讲透的同时,还将丰富的商业化AI应用项目无偿分享,帮大家快速打通。想入局AI,一个懂行的大佬带你,能少走很多弯路!

2025-04-22 08:20:39 37

转载 嵌入式 C 语言特性,指定初始化器

从以上的程序运行输出可以看出,使用指定初始化器对数组进行初始化的时候,如果指定的元素后面有更多的值,那么这些值将被用于初始化指定元素后面的元素,num[4]被初始化为55后,num[5] 和 num[6] 会被初始化为 66 和 77。以上的使用方法比较好理解,对于未被使用的元素都初始化为0,在旧的C89语法里面,需要按数组元素的顺序进行初始化,而使用了C99语法的指定初始化器,可以指定具体的元素索引进行初始化。指定初始化器,一般可以应用于数组、结构体、联合体,等成员变量的初始化,以下举例说明一下。

2025-04-21 18:31:08 30

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关注的人

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