
嵌入式
文章平均质量分 90
六月悉茗
现就职于汽车电子行业某头部外企
展开
-
【嵌入式 - 关于地址对齐】
对齐操作是为了确保栈顶指针满足硬件或软件的对齐要求,而不是为了改变栈的计算逻辑。对齐操作最多只会将栈顶指针向下调整 7 个字节,对栈的使用影响非常小。如果栈顶指针已经是 8 字节对齐的,对齐操作不会改变它的值。对齐操作不会导致计算结果错误,而是为了确保系统的稳定性和性能。原创 2025-01-09 11:26:02 · 987 阅读 · 0 评论 -
【嵌入式 - 英飞凌 - Interrupt/Direct/DMA通讯】
在英飞凌MCU中,UART通信可以通过三种主要模式进行:Interrupt(中断)、Direct(直接)和DMA(直接存储器访问)。总结来说,中断模式适合于数据传输速率较低的应用,直接模式适用于简单的串口通信,而DMA模式适合于高速且数据量大的传输场景,可以有效地减轻CPU负担。每种模式都有其适用的场景和优缺点,开发者可以根据具体的应用需求选择合适的通信模式。原创 2024-12-27 10:47:10 · 807 阅读 · 0 评论 -
【嵌入式 - 关于MCU的内存分配】
嵌入式开发中,自定义内存区域以满足特定需求非常常见。这通常涉及编译器和链接器的配置。在上述链接脚本中,可以看到定义了 FLASH 和 SRAM 的起始地址和长度,并在 SECTIONS 部分定义了各个内存区域的分配。通过合理地使用链接脚本和内存管理函数,开发者可以有效地自定义和管理 MCU 的内存区域,以满足特定的应用需求。假设需要将某些特定变量放置在特定的内存区域,可以使用指令。原创 2024-06-07 13:13:15 · 3146 阅读 · 1 评论 -
【英飞凌 - DAVE - CRC】
在DAVE中实现CRC check原创 2024-06-07 13:12:35 · 737 阅读 · 0 评论 -
【嵌入式 - Tutorial: Makefile Projects with Eclipse】
Tutorial: Makefile Projects with Eclipse原创 2024-04-29 14:39:23 · 849 阅读 · 0 评论 -
【嵌入式 - 英飞凌 - Peak Current Control】
Peak Current Control原创 2024-04-29 14:37:40 · 998 阅读 · 0 评论 -
【嵌入式 - 输出驱动电路Open Drain (开漏)和Push-Pull (推挽)】
Open drain 和 push-pull 是两种常见的输出驱动电路。它们在数字电子电路中用于控制信号的输出。原创 2024-04-15 11:42:07 · 6479 阅读 · 0 评论 -
【通信 - CRC检查】
CRC是循环冗余校验(Cyclic Redundancy Check)的缩写。它是一种错误检测技术,通常用于检测数据传输或存储中的错误。CRC通过对数据进行多项式除法运算来生成一个校验码,发送方将这个校验码随数据一起发送给接收方,接收方再对接收到的数据进行相同的计算,并将结果与接收到的校验码进行比较,以确定数据是否在传输或存储过程中发生了错误。CRC广泛应用于计算机网络、存储设备以及数据通信等领域。原创 2024-04-15 11:38:17 · 2139 阅读 · 0 评论 -
【英飞凌DAVE - TIMER】
通过定时器,可以确保这些任务在预定的时间间隔内得以执行,提高系统的稳定性和可靠性。生成精确的时间延迟: 定时器可以用于生成精确的时间延迟,以便在程序中执行特定的操作或任务。这在需要精确时间控制的应用中很常见,比如在通信协议中等待特定时间窗口的到来。例如,在通信中,可以使用定时器来检测数据传输超时,并采取相应的错误处理措施。总的来说,定时器在嵌入式系统中起着至关重要的作用,它们提供了一种有效的方式来控制时间、调度任务和执行时间相关的操作,从而实现系统的功能和性能要求。这样的话,当时间条件满足,会触发中断。原创 2024-04-12 10:25:14 · 1149 阅读 · 0 评论 -
【英飞凌 - UART - 波特率】
在进行波特率调整时,应确保所有相关设备的通信参数保持一致,以确保通信的稳定性和可靠性。当工业控制系统中的某些设备需要更换或升级时,新设备可能具有不同的通信参数,包括波特率。因此,需要根据新设备的要求修改通信波特率,以确保设备之间的通信正常进行。例如,实时性要求较高的应用可能需要较高的通信速率,而对于一些节能环保型应用,可能会采用较低的通信速率以降低功耗。如果在工业控制系统中,某些设备之间的通信距离发生变化,可能需要调整通信波特率。通常情况下,较长的通信距离需要较低的波特率,以确保信号稳定传输。原创 2024-04-12 10:23:58 · 505 阅读 · 0 评论 -
【工业通信 - 实时以太网】
实时以太网(Real-Time Ethernet)是一种网络通信技术,旨在支持实时数据传输和控制应用。它结合了以太网协议的高带宽和广泛应用的特点,以及实时通信要求,使其适用于工业自动化、机器控制、机器人技术、自动化生产线和其他需要精确的实时通信的领域。实时以太网提供了低延迟和可预测性,确保数据在规定的时间内传输,从而支持对时间敏感的应用,如机器控制和自动化。这里最重要的是可预测性。因为所谓的实时,并不是指它有多快,而是说,它所延迟的时间是可以被计算的。原创 2023-09-06 08:56:52 · 2566 阅读 · 0 评论 -
【RS485 - 总线冲突】
最近写了一个小小的串口通信程序,逻辑上感觉没什么问题,但就是数据与设定值不对。最后发现应该是总线冲突的问题。在RS485通信中,如果在接收完数据后立即发送数据,可能会引发总线冲突问题。这是因为在RS485通信中,设备是共享同一个通信总线的,当多个设备同时尝试在总线上发送数据时,可能会导致数据冲突和干扰,从而造成通信失败。原创 2023-08-30 17:28:35 · 7406 阅读 · 1 评论 -
【面试集锦 - 嵌入式软件工程师 - MCU篇】
NXP S12Z, STM32原创 2023-05-28 14:49:31 · 2422 阅读 · 1 评论 -
【面试集锦 - 嵌入式软件 - C语言】
指针函数(Pointer to a Function)和函数指针(Function Pointer)是在C和C++中经常使用的概念,它们虽然名称相似,但是在用法和作用上有一些区别。原创 2023-05-29 09:00:00 · 795 阅读 · 0 评论 -
【面试集锦 - 嵌入式 - volatile变量】
在编程中,volatile是一个关键字,用于声明一个变量为“易变”的。它告诉编译器,该变量的值可能在程序的控制流之外被修改,因此编译器不应对该变量进行某些优化。volatile使用volatilevolatilevolatilevolatile需要注意的是,volatile关键字只提供了对变量可见性和直接访问的保证,它并不能提供原子性或线程同步的保证。如果需要原子操作或线程同步,还需要使用适当的同步机制,如互斥锁、原子操作或信号量等。总之,volatile。原创 2023-07-11 17:56:11 · 405 阅读 · 0 评论 -
【面试集锦 - 嵌入式 - MCU】
在嵌入式系统中,从MCU(Microcontroller Unit,微控制器单元)的开机到main()函数的启动之间,通常需要完成以下一些关键步骤:复位向量表的设置:MCU在上电或复位时会加载复位向量表。复位向量表包含了处理器复位后要执行的初始化函数的地址。通常需要在向量表中设置Reset向量,以指向主复位处理函数。时钟和时钟源配置:配置MCU的时钟和时钟源,以提供系统时钟和外设时钟。这可能涉及设置主时钟源、时钟分频器、PLL(Phase-Locked Loop)和外设时钟配置等。原创 2023-07-12 09:45:00 · 322 阅读 · 0 评论 -
【RS485 - 为什么要接收端计算时间偏移量】
我以前一直以为计算机等的信号传输速率都是非常快的,不用计算时间差。然而在实际应用中发现信息是需要传输时间的,而这些时间somehow是可以计算的。原创 2023-08-17 14:00:06 · 990 阅读 · 0 评论 -
【基于DAVE的英飞凌XMC4200的RS485通讯】
单片机:英飞凌开发板XMC4200 Platform2Go;开发软件: DAVE;测试设备:示波器。原创 2023-08-07 13:31:14 · 659 阅读 · 0 评论