C
文章平均质量分 53
QB_Gan
名古屋大学硕士在读,方向:Shared Control, Teleoperation, Interface. 东北大学机器人工程本科毕业。在无人机企业工作过。
展开
-
[超详细][嵌入式软件入门案例]crc-4的代码理解与推导(坑还没填完)
用到气压计的crc校验,代码中使用crc-4,手动推导了一遍。先开坑,这两天补坑完成。另外还有一个数字转字符串的实践1、+0x302、itoa 不是标准库函数3、sprintfhttps://www.runoob.com/cprogramming/c-function-sprintf.htmlu8和char差不多,只是后者不会固定为8位...原创 2021-09-08 23:41:15 · 669 阅读 · 0 评论 -
fatfs文件操作的一些认识
1、从行为和效果上看,f_sync与f_close非常相似;但是前者保留了文件的打开状态,适用于长期读写文件。2、f_write创建了一个文件对象,并与文件名相关联;后续直接对该文件对象进行处理,就能够对该文件名的文件进行操作3、f_rename时,被改名的文件对象必须保持关闭状态,否则文件系统可能崩溃。改名之后,该文件对象同时与原文件名和新文件名相关联;即文件对象与该文件本身绝对对应,无论该文件叫什么名字。因此,不可以通过f_open旧文件名的返回状态是否成功来判断改名是否完成等,因为即使改名之后,还原创 2021-09-08 16:40:27 · 1094 阅读 · 0 评论 -
C语言数字转字符串的几种方法
1、ascii码操作:+0x30由于char类型的保存形式是ascii码数值,所以可以加上数字0的ascii码48,即0x30,存储数字对应的字符ascii码。 char str1 = 'c'; // 随便初始化一下 str1 = 0x30 + 5; printf("str1: %c\n", str1); printf("str1: %d\n", str1);输出分别是5和53。2、使用itoa(),但它不是标准库函数这是cstdlib非标准库的函数,顾名思义,integer to asc原创 2021-09-08 16:25:50 · 85407 阅读 · 0 评论 -
使用带##连接符的参数宏简化代码,但循环体变量向其传参是无效的
使用参数宏美化代码,但是循环中无法传变化的参1 简介:背景与目的2 参数宏中#和##的使用2.1 代码应用2.2 无法使用循环加##宏继续简化1 简介:背景与目的近期QB在做嵌入式软件的工作,看这一大坨代码时强迫症发作: BspTimPwmSetCompareValue(&DRV_M1_TIM, DRV_M1_CHANNEL, 2000 ); BspTimPwmSetCompareValue(&DRV_M2_TIM, DRV_M2_CHANNEL, 3500 ); Bsp原创 2021-08-11 17:30:38 · 196 阅读 · 0 评论