- 博客(41)
- 资源 (16)
- 收藏
- 关注
原创 嵌入式开发_DMA详解
DMA,是那个不辞辛劳的搬运工,它直接从仓库(内存)提取原料(数据),送达生产线(外设),或者将成品(数据)送回仓库,整个过程无需CPU参与,从而解放了CPU,让它能专注于更重要的任务。通过这些生动的比喻,我们可以看到,DMA在STM32平台的嵌入式开发中,扮演着极其重要的角色。引入DMA后,它能自动监控ADC转换完成的标志,一旦有新数据产生,立即自动搬运到指定内存区域,就像安装了自动收割机,既快又省心,CPU可以安心处理其他任务,如数据分析或控制逻辑。没有DMA,管理员必须亲自取书、送书,耗时耗力。
2024-04-29 16:54:27
1056
原创 嵌入式单总线详解
单总线,就像是电子世界里的“超级水管工”,它以一根线的简洁,完成了数据传输、设备供电乃至设备识别的多重任务,展现了极简主义的智慧与效率。想象一下,你住在一个高科技社区,所有的家电——冰箱、洗衣机、电视,甚至灯光,都通过家中的同一根“魔法管道”沟通交流,而这根管道就是单总线。单总线的通俗理解一绳千结,各有所指(寻址机制):如果把单总线比作一条长绳,那么绳上系着无数不同颜色和形状的结,每个结代表一个设备。这些结的排列组合就是设备的地址,确保信息准确无误地送到特定的电器。
2024-04-28 10:52:41
687
原创 单片机程序是怎么运行起来的???
单片机程序的运行过程就像一台精密的微型工厂,从原材料(代码)的准备、生产计划(编译)的制定、生产线(硬件)的启动,到产品(指令)的制造、质检(调试)和最终交付(执行),每个环节环环相扣,确保整个系统的高效运转。接下来,我将深入浅出地解析单片机程序是如何运行起来的。总结来说,单片机程序的运行过程就如同一座微型工厂的运作,从原材料(代码)的准备、生产计划(编译)的制定、生产线(硬件)的启动,到产品(指令)的制造、质检(调试)和最终交付(执行),每一个环节都至关重要。
2024-04-26 17:43:06
3270
原创 嵌入式前后台(Bare-Metal RTOS-Like)架构详解
在嵌入式系统开发中,针对资源有限的STM32微控制器,前后台(Bare-Metal RTOS-Like)架构是一种轻量级的实时性设计方法,它模拟了实时操作系统(RTOS)的核心概念和机制,但无需完整的RTOS内核,降低了系统开销。信号量/互斥量:虽然没有完整的RTOS内核支持,但可以通过自定义数据结构和算法模拟简单的信号量或互斥量机制,实现任务间的同步与互斥。中断触发:硬件事件(如按键按下、串口接收到数据等)触发相应中断,ISR快速处理并将事件标志置位,主循环检查这些标志以执行后续处理。
2024-04-26 14:01:43
2266
原创 UART、TTL、RS-232、RS-485区别与联系
UART的核心功能包括数据的串并转换、起始位和停止位的添加与检测、奇偶校验的生成与验证(可选),以及波特率(比特率)的设定。总结来说,UART、TTL、RS-232、RS-485分别代表了串行通信中的协议规范、电平标准以及物理层特性,它们相互配合,在嵌入式开发、工业控制、自动化系统等领域有着广泛的应用。RS-232(推荐标准第232号)是由EIA(电子工业协会,现为TIA)制定的一种串行通信接口标准,主要针对点对点的全双工通信。
2024-04-24 13:44:07
1761
原创 CAN总线详解
CAN是一种多主控、串行、两线制(CAN_H和CAN_L)的通信网络,允许网络上的多个节点同时发送和接收信息,无需主从关系。工业自动化:在工厂自动化设备、机器人、电梯、风电、太阳能等系统中,CAN用于连接传感器、执行器、控制器等设备,实现设备间的实时监控与控制。
2024-04-23 14:52:53
1170
原创 “编程人生:程序员如何智慧应对职场压力“
伴随这一角色而来的,往往是高强度的工作负荷、快速的技术迭代、紧迫的项目周期以及无尽的知识更新需求,这些因素共同构建了程序员所面临的独特压力环境。可以采用诸如番茄工作法、敏捷开发中的短周期迭代等方式,将大任务拆解为可管理的小块,集中精力完成每一项,然后进行短暂休息,以保持注意力的持久性和工作效率。综上所述,程序员在应对职场压力时,应从时间管理、生活习惯、持续学习、沟通机制、职业规划及压力管理技巧等多个维度出发,构建全面的压力缓解体系。最后,直接针对压力本身,学习并运用专业的压力管理技巧。
2024-04-23 11:14:42
328
原创 UART总线详解
Universal Asynchronous Receiver/Transmitter (UART) 是一种广泛应用于嵌入式系统、计算机硬件和通信设备中的串行通信接口。它负责将并行数据转换为串行数据进行传输,同时也能将接收到的串行数据转换回并行数据。UART采用异步通信方式,即不需要共享时钟信号,而是通过起始位、数据位、奇偶校验位(可选)和停止位来同步数据传输。
2024-04-22 14:00:02
1152
原创 I²C总线详解
通过将实现函数指针赋值给接口结构体,可以灵活地使用不同的I²C实现,同时在主程序中只需关注接口调用,实现了面向对象的设计理念。为了使用面向对象方法实现I²C总线操作,我们可以创建一个I²C接口类,定义公共操作,如发送起始条件、停止条件、数据等,并为特定硬件平台(如GPIO模拟或硬件I²C外设)提供不同的实现。起始条件:当SCL线保持高电平时,SDA线由高电平向低电平的跳变表示起始条件,标志着一次通信的开始。停止条件:在SCL线保持高电平时,SDA线由低电平向高电平的跳变表示停止条件,标志着一次通信的结束。
2024-04-20 11:39:46
1091
1
原创 嵌入式开发中模板方法模式实现
一个基于C语言的模板方法模式在嵌入式开发中的实际应用例子,假设我们正在设计一组不同类型的传感器接口,它们的读取操作虽然总体流程相同(打开设备、读取数据、关闭设备),但具体实现细节(如寄存器地址、读取命令等)各不相同。这种模式体现了“封装不变部分,扩展可变部分”的原则,使得算法骨架在父类中得以统一,而具体的实现细节则交由子类根据需要去完成。在这个例子中,Sensor类定义了传感器读取数据的通用流程(模板方法readData),而TemperatureSensor作为子类实现了这个模板方法的具体细节。
2024-04-20 10:55:24
742
原创 SPI总线详解
SPI(Serial Peripheral Interface)是一种常用的串行通信接口标准,它提供了一种主从架构的全双工、同步通信方式。以下是对SPI的详细介绍,并附带一个详细的C代码示例,展示如何使用SPI接口操作外部Flash存储器。SPI详细介绍。
2024-04-19 16:44:57
553
原创 PID算法--温控
PID(比例-积分-微分)控制是一种广泛应用在过程控制中的经典控制理论算法,尤其适用于需要精确调整物理量(如温度、压力、速度等)的控制系统。在温控应用中,PID控制器接收来自温度传感器的实时测量值,并与设定的目标温度(设定值或给定值)进行比较,产生一个控制输出信号,以驱动加热或冷却设备(如加热器、风扇、制冷压缩机等),使实际温度尽可能接近并稳定在设定值。PWM波形 是一种周期性变化的数字信号,其在一个固定的时间周期内,高电平(ON)时间和低电平(OFF)时间的比例(即占空比)可以连续变化。
2024-04-15 23:56:22
1754
原创 “编程之外的精彩:程序员如何成功开展副业“
程序员具备独立开发软件产品的能力,可以针对市场需求,创建并销售各类软件产品,如移动端应用、桌面应用程序、Web服务、SaaS产品,甚至是代码库、框架、插件等开源或闭源的开发工具。在社交媒体、技术论坛、个人博客等平台上,程序员可以就技术趋势、编程心得、最佳实践等话题进行内容创作,通过广告分成、付费阅读、会员订阅、赞助合作等方式实现收益。学习基本的投资知识,合理配置资产,涉足股票、基金、数字货币、天使投资等领域,可以在保障本金安全的前提下,实现财富增值,为副业或创业提供资金支持。参与开源项目,获取赞助与捐赠。
2024-04-12 23:42:14
313
原创 嵌入式软件裸机开发--循环-查询架构
在嵌入式软件裸机开发中,循环-查询(Polling)是一种基础且广泛应用的架构,它利用一个主循环来持续检查硬件状态或软件事件,以实现对系统行为的实时控制。
2024-04-11 23:44:27
1088
原创 嵌入式软件裸机开发—常用的软件架构
嵌入式软件裸机开发是指在没有操作系统支持的情况下,直接对硬件进行编程,以实现特定功能的开发过程。这种开发方式适用于资源受限、实时性要求高或对系统开销敏感的应用场景。在裸机开发中,设计合理的软件架构对于保证程序的可读性、可维护性、可扩展性和可靠性至关重要。
2024-04-10 23:53:36
2410
原创 裸机编程与RTOS编程:理解模式差异与实例说明
裸机编程,也称为Bare Metal Programming,是指直接在硬件平台上编写应用程序,无需依赖任何操作系统或中间软件层。在这种模式下,程序员对硬件资源有完全的控制权,需要手动管理内存分配、中断处理、外设驱动、任务调度等所有系统功能。特点:低级控制:程序员直接操作硬件寄存器,实现对CPU、内存、外设的精细控制。资源精简:无额外的操作系统开销,适用于资源受限的嵌入式设备。手动管理:需要手动处理任务调度、内存分配、中断响应等系统服务。
2024-04-08 20:01:38
1616
原创 实时操作系统(RTOS)工作原理
实时操作系统(RTOS)是一种专门设计用于保证系统对事件或请求作出响应的时限要求的操作系统。这类系统广泛应用于工业控制、航空航天、汽车电子、医疗设备、物联网等领域,其中关键的工作原理包括任务调度、信号量、互斥锁、队列等同步与通信机制。
2024-04-07 22:48:21
1337
原创 嵌入式开发中内存管理与优化
嵌入式开发中的内存管理涉及静态分配、动态分配、内存池管理等多种策略,并需要结合具体的优化措施,如减少内存消耗、避免内存泄漏和溢出、缓解内存碎片等,以确保系统高效、稳定地运行。内存池适用于频繁进行小对象分配和释放的场景,能有效减少内存碎片,提高内存分配速度,降低系统开销。缓解内存碎片:除了使用内存池外,还可以通过合并相邻的空闲内存块、采用最佳适配、首次适配等分配策略来减少碎片。
2024-04-06 10:03:46
1365
原创 智启未来:人工智能技术引领的创新创业新纪元
人工智能技术的蓬勃发展为全球创业者开启了无限可能。面对这一波澜壮阔的创新浪潮,创业者应积极拥抱变革,精准定位市场空白,以创新驱动产品和服务,勇攀人工智能创业高峰,共谱人类社会智能化转型的华美篇章。
2024-04-06 09:51:20
473
原创 嵌入式开发中装饰者模式实现
装饰者模式(Decorator Pattern)是一种结构型设计模式,其主要目的是在运行时动态地为对象添加新功能或更改其行为,同时保持对象的封装性和继承结构的简洁性。装饰者模式遵循“开闭原则”,即对扩展开放,对修改关闭,允许在不修改现有代码的情况下扩展对象的功能。
2024-04-05 10:00:00
916
原创 零基础进军IT行业:解锁学习路径与技能提升攻略
在信息化社会中,IT行业以其广阔的发展前景、高薪待遇以及创新活力吸引着越来越多的人投身其中。然而,对于毫无相关背景知识的零基础者来说,如何顺利叩开IT行业的大门呢?本文将针对这个问题,从选择学习路径、掌握关键技能以及通过实践项目与开源社区积累经验三个方面展开探讨,为有意进入IT行业的零基础人士绘制一份清晰的成长蓝图。
2024-04-04 09:54:39
681
1
原创 编程基础---数据结构与算法
数据结构和算法均需理解其原理、适用场景以及优缺点,并具备手写实现代码的能力。在实际项目中,可根据数据特性和性能需求选择合适的数据结构和算法。
2024-04-04 09:46:51
1133
1
原创 嵌入式开发中状态模式实现
状态模式尤其适用于那些根据外部事件或内部条件频繁改变状态并且每种状态下行为不同的场景,例如设备的不同工作模式切换、任务调度、传感器状态管理、通信协议状态机
2024-03-31 15:32:07
1012
1
51单片机RC522操作FM1208CPU卡.rar
2019-12-20
PBOC之CPU卡FM1208的发卡指令讲解.pdf
2019-12-20
14443协议精髓.ppt
2019-12-20
ISO14443-4协议简介.ppt
2019-12-20
中国金融集成电路_IC_卡非接触式规范.pdf
2019-12-20
串口监视软件-串口数据监控分析
2019-12-01
PyQt实战开发.rar
2019-11-13
SetupSTM32CubeMX-4.16.1.exe
2019-08-29
串口摄像头调试软件1.0
2019-04-20
MA82G5DXX_Datasheet_v074.pdf中文技术手册
2018-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人