![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作经验
文章平均质量分 74
个人工作经验总结
不吃鱼的猫丿
这个作者很懒,什么都没留下…
展开
-
工作经验总结:C语言中类函数的宏定义、宏定义拼接、常量指针与指针常量的识别记忆技巧整理
其中:int value;通过宏定义的方式我们可以通过自定义的标识,来了解该变量的类型内存分配方式。并且假如不同APP层的变量的类型别名不同,我们可以直接搜索全局VAR关键字,来修改适配对应APP的不同类型别名(而不是通过搜索类型或者变量名来一个个对应修改)通过宏定义的方式我们可以通过自定义的标识,来了解该函数的返回类型归属模块。// Step 1// 等效于// Step 2// 等效于通过这种方式来把不同功能的接口进行模块化整合。原创 2024-05-27 21:00:00 · 755 阅读 · 0 评论 -
工作经验总结:S19(SRecord)文件解析
SRecord文件是由Motorola公司定义的一种ASCII文本文件,文件扩展名包括:.s19、.s28、.s37、.s、.s1、.s2、.s3、.sx、.srec、.exo、.mot、.mxt,都是同一种格式,文件内容没有差异,主要用于记录微控制器、EPROM和其他类型的可编程设备的程序记录。原创 2024-02-22 14:12:00 · 2924 阅读 · 0 评论 -
工作经验总结:Hex文件解析
由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。一般用于MCU程序烧录,可以把hex文件理解为带有地址信息的bin数据的记录集合。(注:烧录时如果使用bin文件则需要指明对应首地址的位置,而使用hex文件则不需要,因为hex文件中包含了对应地址包含的数据内容)原创 2024-02-22 08:46:00 · 4705 阅读 · 0 评论 -
工作经验总结:RH850中SP、LP、PC寄存器间联系与入栈出栈操作简单整理
SP:栈顶寄存器,保存最新栈顶的地址LP:链接寄存器,保存函数跳转的地址(当没发生调用子函数的操作时候,你可以通过单步调试发现,该寄存器的值不变)PC:指令计数器,当前程序运行的地址栈空间由内核自动分配与释放。当调用子函数时候,SP会先将LP中的地址入栈,然后根据函数所需要的局部变量大小分配对应的空间,并偏移对应大小的地址。当退出子函数时候,PC会加载LP中的地址,SP进行出栈操作(释放对应的栈空间且数据不会因为出栈而遭到清零,即仅移动SP指针。原创 2023-08-14 18:12:54 · 1744 阅读 · 0 评论 -
工作经验总结:单片机中简易时间片轮询的结构设计
裸机:功能单一,简单的顺序执行时间片轮询:多任务、内存占用较少RTOS:多任务、系统复杂性高,有较高的实时性要求和可靠性要求MCU的RAM和ROM资源问题,引入RTOS会带来额外的内存开销业务功能的拆解与多任务的设计,有时候使用时间片轮询可以让整个结构更加简单易懂,方便设计调试更为简单方便功能任务划分的合理性,多任务的情况下,每个任务的执行都尽量设计成短小精悍。(例如:执行1个任务需要10ms,你不能只给它分配5ms的时间片)原创 2023-05-22 17:26:02 · 5296 阅读 · 4 评论 -
工作经验总结:MCU寄存器库的开发
注意:在定义寄存器结构体的时候,需要注意MCU的字节序,看是小端的芯片还是大端的芯片。小端:低地址存放低位大端:低地址存放高位(1)例:用Renesas中RH850中的一个寄存器作为示例,RH850为小端序一般定义成一个共用体,既可以设置整体值,又可以针对某一位进行设置。// 小端序,低地址存放低位struct} B;(2)例:大端序MCU结构体定义示例// 大端序,低地址存放高位uint16_t R;原创 2023-02-13 18:05:41 · 722 阅读 · 0 评论 -
工作经验总结:C语言中重复步骤的程序结构优化
一、重复步骤的程序结构优化1、重复步骤的程序例举以单片机为例,重复的操作其实涉及很多方面,例如:多路PWM通道的输入捕获、多路PWM通道的输出控制、多路ADC的采集等等。即:当涉及对一个外设的多路通道的操作时,就会 产生重复步骤。以多路PWM输入捕获为例子,最简单的PWM输入捕获的结构代码如下:uint8_t pwm_get_period(uint8_t channel){ uint8_t period; switch (channel) { case原创 2022-04-08 23:57:09 · 1432 阅读 · 0 评论