单片机基础知识
文章平均质量分 74
剑从东方起
高级软件工程师,汽车电子行业深耕者。
展开
-
C语言知识点 - 001:环形缓冲区Ring Buffer详细分析记录
称作,也称作环形队列(circular queue),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。如下为的概念示意图。在任务间的通信、串口数据收发、log缓存、网卡处理网络数据包、音频/视频流处理中均有的应用。在的和文件中,内核文件kfifo.h和kfifo.c中也有的代码实现。由于计算机内存是线性地址空间,因此需要特别的算法设计才可以从逻辑上实现。先不要想的具体实现细节,来看一个简单的例子。如下是一个空间大小为。转载 2024-05-08 05:00:00 · 8 阅读 · 0 评论 -
英飞凌芯片使用记录:程序运行放在RAM,规避ECC错误,操作Flash注意点
在程序里面调用PF驱动的时候,假设程序放置在PF0,那么可以操作PF1,放置在PF1可以操作PF0,也可以放置在RAM,这样PF0与PF1均可以操作了。通过Tasking将代码放置在RAM的方式,注意点,RAM分为PSRAM与DSRAM,运行的程序需要放置在PSRAM里面。玩玩不可以放在DSPR里面的,一旦放置在了DSPR里面,那么就无法执行了。1、链接文件2、代码部分执行这样就可以将对应函数放置在RAM PSPR区域内了。原创 2023-12-14 15:33:48 · 553 阅读 · 0 评论 -
英飞凌Tc275使用记录:Can邮箱号确认与Busoff寄存器设置方法
消息对象成功接收或发送帧后,可以通知CPU对消息对象执行后处理。消息后处理,一般都会到CanIf这个层面当接收到的帧存储到消息对象中或成功传输帧时,可以发出消息中断。对于每个消息对象,可以生成一个发送中断和一个接收中断,并将其路由到16条can中断输出线之一(如下图所示)。接收中断也发生在由FIFO或网关动作引起的帧存储事件之后。在消息对象状态寄存器中的状态位TXPND和RXPND总是在成功发送/接收后设置,无论是否使能各自的消息中断。提供了消息对象的第三个FIFO完全中断条件。原创 2023-11-16 19:19:07 · 637 阅读 · 0 评论 -
ABZ正交编码 - 异步电机常用的位置信息确定方式
例如:如果使用的编码器为 2500 线,即电机转一周反馈的 A、 B 脉冲数都为 2500个,让电机转一周, 若编码器反馈输入模式为 4 倍计数, 编码器计数器的值为 10000;2 倍计数:若为正向计数, 编码器计数器的值为 A 反馈脉冲数的 2 倍;测量位置信息可以通过 A B的脉冲数量,也可以通过测量A或者B的频率进行实现,由此产生的差异仅仅是ASW算法的一点不同而已。若为负向计数, 编码器计数器值为 B 反馈脉冲数。每转一周,索引相,即Z相经过发光二极管一次,输出一个脉冲,可作为编码器的机械零位。原创 2023-11-14 18:16:42 · 1314 阅读 · 0 评论 -
英飞凌 Tc3xx AURIX 2G多核处理器简介
AURIXTM 2G系列单片机的片上通信使用Xbar(Cross Bar系统,基于SRI结构发展而来,具有以下三个独立的片上通信方式:系统资源互连结构(SRI系统外设总线(SPB系统骨干总线(BBBSRI 结构将 TriCore CPUs、DMA 模块和其他高带宽请求者连接到高带宽存储器和其他资源,以进行指令提取和数据访问。原创 2023-08-23 08:53:57 · 1697 阅读 · 5 评论 -
记录点 (四):单片机内存存储结构
存放未初始化的全局变量或者未初始化的静态变量,例如 int a ,当然这样子默认值均为0,其实非常不推荐这种写法,因为有可能因为内存问题导致这个地方有非预期的值,工作中碰到过,局部变量不初始化有值导致程序偏离原本轨迹。常见问题,有时候在程序执行过程中,发现已经定义的全局变量成为了0,而我们在此过程中并没有任何的赋值操作,那么就有可能数据存储位置出现错误了,例如分配到bss段去了,碰到过此问题,记录一次。存储函数调用时临时结构信息,栈是先进后出,压栈在栈顶。存储程序运行时分配的变量。原创 2022-12-29 11:03:36 · 172 阅读 · 0 评论 -
记录点 (三):单片机的一些名词解释
原子传输的读和写传输始终是锁定的,不能被另一个总线主中断。所有的PMI SRAM (PSPR、PCACHE和缓存标签SRAM)都是ECC保护的。W饥饿预防机制,可以注意到即使是低优先级的请求也会在一个可配置的仲裁周期数后被授予,永久启用。未初始化的全局变量存放位置,由符号开始的块,编译后的目标文件不占内存,C语言在程序的执行之前,OS会负责将.bss段的数据清零。所有SPB (FPI)从模块都使用基于TAG ID的访问保护实现,该访问保护为控制寄存器提供了通用的写保护。64位、128位和256位的块传输。原创 2022-09-02 14:03:03 · 1592 阅读 · 0 评论 -
记录点 (二):Hightec编译器获取系统时间方式
编译器获取系统时间的年月日原创 2023-05-05 17:27:11 · 204 阅读 · 0 评论 -
记录点 (一):memcpy及其类似函数怎么使用
大部分时候,我们需要对内存,或者对数组进行我们想要的内容操作,所以对这个函数进行解析一下。原创 2023-02-23 19:43:27 · 327 阅读 · 0 评论