
嵌入式
文章平均质量分 67
hxsln11
这个作者很懒,什么都没留下…
展开
-
Linux内核十大贡献者
这些开发者在 Linux 内核的不同子系统和领域中发挥着关键作用,他们的工作和贡献推动了 Linux 内核的不断发展和完善。需要注意的是,Linux 内核开发是一个庞大的工程,还有许多其他优秀的开发者在默默奉献,共同构建了这个强大的开源操作系统核心。:在内核的 I/O 子系统和电源管理方面有深入研究,对相关子系统的优化和改进有重要贡献。:在文件系统和存储子系统方面有深入研究,对多个文件系统的开发有重要贡献。:负责网络子系统的开发和维护,对内核的网络性能优化有重要贡献。原创 2025-03-22 23:03:18 · 177 阅读 · 0 评论 -
STM32 HAL库和标准库的差别
HAL库:适合大多数开发者,尤其是希望快速上手和简化开发流程的项目。它提供了良好的跨平台支持和丰富的API,适合大多数应用场景。标准库:适合对性能要求极高且开发者对STM32硬件有深入理解的项目。它提供了更高的灵活性,但需要更多的开发和调试工作。选择哪种库取决于具体的项目需求、开发团队的技术水平以及对性能和开发效率的权衡。原创 2025-03-22 22:49:57 · 360 阅读 · 0 评论 -
51单片机虽然不过时,为什么我还是推荐STM32
寄存器vs库函数我的观点是:当你debug的时候寄存器很重要,当你需要理解芯片工作细节的时候寄存器很重要,当你开发的时候寄存器不重要。刚开始接触STM32时还在学校,有很多时间,当时就用寄存器将提供的所有例程,自己重新对照着DataSheet敲一次,根据自己的想法做一些改变,C语言、编程思想、STM32都有了较大的进步。现在在单位也在做STM32的编程,不过都不用寄存器了,但是感觉之前敲的例程还是对现在的工作有着非常大的帮助,觉得吧,还是得多动手,基础的东西还是得自己去完整的过一遍。1.熟悉编译下载环境;转载 2024-09-05 11:48:14 · 519 阅读 · 0 评论 -
我认为can通信写的比较好的
1.转载 2024-09-05 09:28:26 · 83 阅读 · 0 评论 -
硬件和软件
https://bbs.eetop.cn/thread-879218-1-1.html转载 2024-09-04 22:49:15 · 908 阅读 · 0 评论 -
can通信 stm32 hal库
【代码】can通信 stm32 hal库。原创 2024-09-04 16:37:29 · 977 阅读 · 0 评论 -
新手入门嵌入式的一些前置知识2
比如说三极管开关电路、LED驱动电路、按键检测电路、蜂鸣器驱动电路、存储电路、LCD驱动电路、单片机外围电路。等你积累到一定数量的时候,这些都是你职业生涯的武器库,后面研发新产品就是复制粘贴,这样你的效率才高。相对来说不太建议走硬件工程师,因为一般工资都比软件低一点,可以先做软件,再补硬件,最后走全栈路线。电阻、电容、电感、二极管、三极管、MOS管、按键、LED灯、LCD、蜂鸣器之类的。做单片机开发等你有一定经验了,基本一个人能独立做一款产品,这样创业成本也更低些。,范围太广,涉及的知识体系太庞大。转载 2024-09-04 09:26:39 · 343 阅读 · 0 评论 -
几本适合嵌入式软件工程师阅读的电子入门书
电路原创 2024-09-03 22:44:39 · 3117 阅读 · 0 评论 -
入门嵌入式 提前学科
高频电子线路》和《射频电路设计——理论与应用》是电子技术关于通信方面的专业内容,当然你也可以选择关于微电子的、或者光电子的、或者物理电子等专业方面的内容。电子技术,主要指模拟电子技术和数字电子技术。在学模电和数电之前,你应该先学《电路分析》,注意,是《电路分析》,不是《电工》,电子专业不学《电工》与《机械自动化》的相关内容。按照1、2、3的顺序学下来,前者是后者的基础,教材的话,网上可以定购,上joyo网就可以了,送货上门,满方便的。总之,你学完了1、2、3的内容,你就是已经超过了电子技术入门的水平了。原创 2024-09-03 22:35:23 · 472 阅读 · 0 评论 -
EDA软件 with AD
相比于AD软件,PADS的设计工具是区分开的,分开的设计工具也就意味每一部分的设计功能能够更丰富,可操作性越强。EDA是电子设计自动化(Electronics Design Automation)的缩写,EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VerilogHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作的过程。PCB板的3D显示几乎是所有Layout软件中最好的。原创 2024-09-03 22:21:37 · 1061 阅读 · 0 评论 -
PLC编程前置课程
PLC编程是使用特定的编程语言,编写控制程序,以控制PLC的输入和输出设备,实现对机械、工艺或系统的控制。在学习完PLC编程前置课程后,学习者将具备了解PLC编程的基本知识、掌握PLC编程所需的基础技能,并能够更好地理解和应用PLC编程技术。这为学习者进一步深入学习和应用PLC编程奠定了坚实的基础。在这门课程中,学习者将学习与PLC编程相关的基本概念、原理和技术,以及进行PLC编程所需的前置知识。PLC基础知识:了解PLC的基本结构和工作原理,学习PLC的输入输出模块的连接配置和参数设置。原创 2024-09-03 20:07:04 · 430 阅读 · 0 评论 -
看到人家写出来的总结 我感觉这个行业快了
但是CAN硬件能够提供本地过滤功能,让每个节点对报文有选择性地做出响应。可以认为报文是通过内容寻址,也就是说,报文的内容隐式地确定其地址。这意味着所有节点都可以侦听到所有传输的报文。CAN使用短报文 – 最大实用负载是94位。数据帧,远程帧,错误帧,过载帧,帧间隔。CAN总线上有5种不同的报文类型。CAN总线是广播类型的总线。无法将报文单独发送给指定节点。所有节点都将始终捕获所有报文。CAN的 帧/报文 种类。转载 2024-09-03 14:30:32 · 89 阅读 · 0 评论 -
Matlab &电路仿真
1.写的很细 保存。原创 2024-09-03 14:16:56 · 334 阅读 · 0 评论 -
CAN总线在汽车电子系统中实现不同模块间通信
汽车中的CAN总线通常分为高速CAN(动力系统)和低速CAN(车身系统),通过网关实现不同网络间的数据交换。:CAN总线上的数据传输通过帧结构进行,包括数据帧、远程帧、错误帧和过载帧。:CAN总线广泛应用于汽车的发动机控制、车身控制、安全控制等领域,如发动机管理系统、ABS、ESP、空调系统、仪表盘等,实现各部件间高效、可靠的数据通信。:CAN总线具有强大的错误检测能力,包括位错误、帧错误、CRC错误等。通过上述机制,CAN总线在汽车电子系统中实现了不同模块间的高效、可靠通信,提高了汽车的性能和安全性。原创 2024-09-03 13:50:03 · 764 阅读 · 0 评论 -
CAN总线学习1
熟悉CAN数据帧的结构,包括帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束。:掌握CAN总线的通信协议,包括数据传输速率、总线长度、节点数以及错误检测和处理机制。:学习CAN总线的物理层特性,包括差分信号传输、总线电平(显性电平和隐性电平)、终端电阻的匹配以及收发器芯片的作用。:学习CAN控制器与物理总线之间的接口,包括CAN控制器、收发器以及网络配置。:了解CAN FD(Flexible Data-Rate)标准,它在保持与经典CAN兼容的同时,提供了更高的数据传输速率和更大的数据长度。原创 2024-09-03 13:47:47 · 392 阅读 · 0 评论 -
STM32寄存器讲解2
我们可以找到每个单元的起始地址,然后通过 C 语言指针的操作方式来访问这些单元,如果每次都是通过这种地址的方式来访问,不仅不好记忆还容易出错,这时我们可以根据每个单元功能的不同,以功能为名给这个内存单元取一个别名,这个别名就是我们经常说的寄存器,这个给已经分配好地址的有特定功能的内存单元取别名的过程就叫寄存器映射。最简单的应用就是把 GPIO 的引脚连接到 LED 灯的阴极,LED 灯的阳极接电源,然后通过 STM32控制该引脚的电平,从而实现控制 LED 灯的亮灭。一旦有了具体地址,就可以用指针读写。原创 2024-09-03 12:19:36 · 1526 阅读 · 0 评论 -
STM32的寄存器详解1
通过深入理解寄存器的作用、分类和访问方式,开发者可以更好地掌握 STM32 单片机的工作原理,进行高效的编程和系统设计。USARTx_CR1、USARTx_CR2 和 USARTx_CR3:控制寄存器,用于配置串口的工作模式、中断等。ADCx_SQR1、ADCx_SQR2 和 ADCx_SQR3:通道序列寄存器,用于选择要转换的通道。ADCx_CR1 和 ADCx_CR2:控制寄存器,用于配置 ADC 的工作模式、转换触发等。尽量减少在中断处理程序中对寄存器的访问,以避免影响系统的实时性和稳定性。转载 2024-09-03 11:41:57 · 1172 阅读 · 0 评论 -
51单片机寄存器详解
51子系统单片机的存储器配置1、程序存储器 ROM1、程序存储器的ROM的最大空间是64KB,因为地址线是16根,2^16 = 64 KB。80C51单片机,其内部有4KB ROM,外部ROM的最大容量是60KB;2、80C51片内4 KB ROM 的地址为:0000H~0FFFH (2^12 = 4 KB),片外60 KB ROM的地址为:1000H~FFFFH(2^16 - 2^12 = 60 KB);3、80C51单片机,正常运行时:EA(非)端接高电平,CPU从内部ROM中读取程序;当P转载 2024-09-03 11:29:20 · 2881 阅读 · 0 评论 -
plc相关的一点梳理
书写器不太直观,可读性差,特别是遇到较复杂的程序,更难读;最初的可编程序逻辑控制器只有电路逻辑控制的功能,所以被命名为可程序逻辑控制器,后来随着不断的发展,这些当初功能简单的计算机模块已经有了包括逻辑控制,时序控制、模拟控制、多机通信等许多的功能,名称也改为可程控器(Programmable Controller),但是由于它的简写也是PC与个人电脑(Personal Computer)的简写相冲突,也由于多年来的使用习惯,人们还是经常使用可程序逻辑控制器这一称呼,并在术语中仍沿用PLC这一缩写。原创 2024-09-02 21:15:23 · 1600 阅读 · 0 评论 -
CAN总线比UART串口难吗?
在电子通信领域,波特(Baud)即调制速率,指的是有效数据信号调制载波的速率,即单位时间内载波调制状态变化的次数。CRC段是检查帧传输错误的帧,由 15 个位的 CRC 顺序和 1 个位的 CRC 界定符(用于分隔的位)构成。数据段表示传输数据的内容,从 MSB(最高位)开始输出,可发送 0~8 个字节的数据,长度由前面控制段决定。和数据帧相比,遥控帧是接收单元向发送单元请求发送数据所用的帧。最近看到有网友在技术群讨论关于『CAN比UART难不难的话题』,有的网友说CAN很简单,也有的网友说CAN很难。原创 2024-09-02 15:56:52 · 1194 阅读 · 0 评论 -
电路软件仿真
Multisim提炼了SPICE仿真的复杂内容,这样工程师无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。Simulink的功能非常强大,基本各行各业都会用到Simulink,但主要还是在系统仿真,算法仿真上应用最多,电路仿真并不是Simulink所擅长的,但通常为验证一些电路控制的算法,还是会在Simulink中搭建电路进行仿真,如仿真一些电源拓扑,像移相全桥,LLC等。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。原创 2024-09-02 12:17:00 · 567 阅读 · 0 评论 -
plc编程入门需要学什么
1.。对于新手来说,是进入PLC编程世界的必备基础。这包括了解电路的基本原理、电气符号的识别以及简单电路的设计与分析。这一阶段的学习为之后深入掌握PLC编程打下坚实的基础。原创 2024-09-02 10:15:05 · 1528 阅读 · 0 评论 -
单片机跑操作系统,到底有几种选择?
分别为。原创 2024-09-02 07:22:32 · 3072 阅读 · 0 评论 -
ch340是什么芯片
作者写的很好就不搞了。原创 2024-09-02 07:09:37 · 214 阅读 · 0 评论 -
stm32 一个简单的函数追踪学习案例demo
内核里面的函数 stm32f1xx_hal_cortex.c。调用到了 stm32f1xx_hal_cortex.c。HAL_GetTick() f12继续。uwTick 继续f12。上面的都是 ms级实现。一直获取滴答定时器的数值。1.03 流水灯程序。原创 2024-09-02 06:10:59 · 480 阅读 · 0 评论 -
使用VScode进行8086汇编学习
在这里我不得不说,这样的环境虽然比较正规(后面会介绍代替方案),如果你折腾过这个编程环境你会知道,代码没高亮是其次的问题,麻烦的是你编写了一个自己不知道对不对的汇编代码之后,你自己要去命令行里边手动的去进行MASM和link操作(前提是你的汇编代码正确,不然又得回去改代码,之后又得进行同样的操作),最后才可以进行DEBUG,来来回回之间绝对可以劝退汇编的学习。本教程面向小白,局限于我粗浅的学识和拙劣的文本书写能力,难免会有所欠缺,如果您发现此博客有什么不足或者不好的地方,欢迎指正。希望各位汇编学习愉快!原创 2024-09-02 04:37:17 · 1918 阅读 · 0 评论 -
汇编语言编译器选择vscode
我下了两个,一个是一个入门级的,要49块成为注册用户才能解锁全部功能,好像还容易崩。另一个是dosbox,太老了,界面交互性差,我因为安装过两次,出现了一些文件位置问题,运行总出bug,例如illegal警告等等,调试了两个小时也未果。就在这时,我想到了之前为了c++下的VScode!事实证明,我总是生锈的脑子终于灵光了一把!下了一个MASM插件,总共三十秒,成功编译并运行!也是摘录下面小哥的 只为了学习这个方便点吧。只需要单机右键点击run asm。就这样措不及防的成功了。原创 2024-09-01 23:48:21 · 544 阅读 · 0 评论 -
汇编语言和相关的程序初学
MASM是Microsoft Macro Assembler 的缩写,是微软公司为x86 微处理器家族开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32汇编,是Windows下开发汇编的利器。不同的CPU会有不同的机器指令集,从而产生不同种类的汇编语言。高级的汇编器如MASM、TASM等,提供了很多类似于高级语言的特征,比如结构化、抽象等,在这些环境中编写的汇编程序,有很大的一部分是面向汇编器的伪指令。原创 2024-09-01 23:41:35 · 390 阅读 · 0 评论 -
stm32 点灯 相当于helloworld
参考大佬写的【理解ARM架构】不同方式点灯 | ARM架构简介 | 常见汇编指令 | C与汇编_arm汇编 点灯-优快云博客2.背景相关的C语言很难看到背后的原理不像汇编直接操作寄存器来得直接可读性虽然比较高 但是难以吃透其中的原理最终还是需要转化为汇编进行相关的研究具体的原理 以及背后的数学逻辑实现 下次再深入研究吧调的是 HAL库 具体怎么封装的 再等以后拆解吧通过这个例子 看到了汇编的重要性 理解底层原理比较清晰封装能提高熟练者 开发的效率。原创 2024-09-01 23:21:28 · 344 阅读 · 0 评论 -
STLINK V2.1 官方原理图附固件
1.转载 2024-09-01 22:44:42 · 225 阅读 · 0 评论 -
嵌入式 方面的一点思考
什么精通控制理论,精通电路设计,精通各种硬件驱动开发,精通linux内核以及裁剪,精通C/C++/Java语言,精通DSP,精通ARM,精通什么linux / ecos / ucos / wince / VxWorks,精通嵌入式数据库,精通多线程编程,精通各种网络协议,精通各种总线协议,精通安卓/IOS平台应用开发,精通汇编、编译器、二进制工具,精通各种媒体封装格式、编解码,精通通信技术,精通硬件原理图,精通PCB设计,精通计算机结构,精通bootloader,精通……这个说的是平台上选用的操作系统。原创 2024-09-01 20:53:43 · 2965 阅读 · 0 评论 -
软件仿真、硬件仿真、原型验证是如何工作的?
以思尔芯的PegaSim芯神驰软件仿真工具为例,其为一款高性能、多语言混合的商用数字软件仿真工具,采用了创新的架构算法,实现了高性能的仿真和约束求解器引擎,对System Verilog语言、Verilog语言、VHDL语言和UVM方法学等提供了广泛的支持,同时支持时序反标和门级后仿真,并可提供功能覆盖率、代码覆盖率分析等功能。随着芯片规模和功能的复杂度增加,验证的难度也随之上升,而如何在降低验证复杂度的同时保证其正确性和效率,正是验证的核心问题。总之,硬件仿真通常集成了专门的电路和逻辑,以加速仿真过程。原创 2024-09-01 19:33:44 · 2456 阅读 · 0 评论 -
stm32 烧录第一次尝试
浪费一根没关系 因为有typec口供电了。3.接线 4根线只要3根线。clk 对应 swclk。DIO 对应 SWDIO。gnd 对应 gnd。原创 2024-09-01 12:25:54 · 445 阅读 · 0 评论 -
stm32纯软仿真问题解决了(纯软方案)
1.现象总是进入函数 不能调函数。4.添加监控 变量。原创 2024-08-31 02:54:59 · 261 阅读 · 0 评论 -
新手阅读c代码 stm32
* 设置分频系数为1分频 *//* 设置定时器重装值 *//* 清空当前计数值 */SysTick->CTRL |= 1 << 0;/* 启动定时器 */SysTick->CTRL &= (1 << 2);2.自己查阅资料 加上注释 delay.c。3.发现 嵌入式这块csdn并不是很多。4.新手主要是不懂底层的原理。参考了 eeworld。1.新手读代码很痛苦。SysTick逻辑图。原创 2024-08-30 12:13:39 · 371 阅读 · 0 评论 -
ARM主流编译器(armcc、iar、gcc for arm)
还提供了64位版本的armlink,可以访问64位计算机上可用的更大内存量。作为维持和增强 GCC 编译器支持 ARM 架构的持续承诺的一部分,ARM 正在维护一个 GNU 工具链,其 GCC 源分支针对嵌入式 ARM 处理器,即 Cortex-R / Cortex-M处理器系列,覆盖 Cortex-M0 ,Cortex-M3,Cortex-M4,Cortex-M0 +,Cortex-M7,Armv8-M基线和主线,Cortex-R4,Cortex-R5,Cortex-R7和Cortex-R8。转载 2024-08-30 04:13:19 · 3286 阅读 · 0 评论 -
基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?
相对于ARM7使用的外部中断控制器,Cortex-M3内核中集成了中断控制器,芯片制造厂商可以对其进行配置,提供基本的32个物理中断,具有8层优先级,最高可达到240个物理中断和256个中断优先级。虽然ARM7内核并没有像Cortex系列那样集成很多外设,但是大量的基于ARM7的器件,从通用MCU,到面向应用的MCU、SOC甚至是Actel公司基于ARM7内核的FPGA,都拥有更为众多的外围设备。特别是如果你的应用是汽车和无线领域,最好也采用Cortex-M3,这正是Coretex-M3的主要定位市场。转载 2024-08-30 03:50:01 · 454 阅读 · 0 评论 -
STM32好找工作,所以学linux终究是错付了吗
所以你学到的GUI技术全都是MCU领域使用的,而这些和主流的GUI的前端与业务逻辑分离的设计模式(典型的如微软的WPF,Android,或web前端设计等)是有不同的,因此你学到的东西也是有局限的。你对比这2个就好像对比自行车和小汽车,你说自行车的优势是便宜,好修理,不堵车,不用交停车费,不耗油等等,你可以说出来自行车相对小汽车的很多优势,然而该买小汽车的你给他个自行车行吗?此后我就认识到linux的重要性了,下功夫好好学了linux,这么多年过来,太多事实案例证明,当时的决策非常英明。转载 2024-08-30 03:32:35 · 320 阅读 · 0 评论 -
STM32的HAL库分析及使用
用户代码的第一大部分:对于外设句柄的处理。HAL库在结构上,对每个外设抽象成了一个称为ppp_HandleTypeDef的结构体,其中ppp就是每个外设的名字。*所有的函数都是工作在ppp_HandleTypeDef指针之下。多实例支持:每个外设/模块实例都有自己的句柄。因此,实例资源是独立的下面,以ADC为例外围进程相互通信:该句柄用于管理进程例程之间的共享数据资源。/***//*!/*!/*!/*!/*!/*!/*!转载 2024-08-30 03:23:45 · 2354 阅读 · 0 评论 -
Keil5 下的一些快捷键
*双击红点 断点调试 尝试中文注释*/ 块注释。一般不建议 仿真调试 初学的话可以试试 p25记录。硬件调试 我购买的硬件还没到 暂时只能这样。3.ctrl+e 快速找到匹配的括号{}5. alt 加鼠标左键 可以列编辑。跳转到了stm32f1xx_hal.c。f12可以让我们看到程序之间如何引用的。比如HAL_Init();反向缩进 shift+tab。原创 2024-08-29 21:42:04 · 2142 阅读 · 0 评论