- 博客(7)
- 收藏
- 关注
原创 报错个人记录
为了节省大小,Arm MicroLIB C库不支持或实现几乎所有与操作系统交互的函数,例如abort()、exit()或assert()等函数。Microlib是一个独立的、比ARM标准C库更小的库。要取消MicroLIB选项。
2024-04-26 10:11:44 179 1
原创 stm32f103c8T6 SPI cubemax配置,个人记录
这里需要配置NSS,决定是硬件片选还是软件片选(硬件片选就配置成输出模式,软件就SPI_NSS模式),如果不进行配置会导致cube报错。注意引脚的占用和其他功能的冲突。最好在项目进行之前配置一边管脚,写一个管脚配置表格,防止做一半发现互相抢占。时钟树和调试模式等基础配置忽略不计。SPI选择第一个全双工主机模式。一般语句我习惯收发一起这条。
2024-03-21 16:55:29 173 1
原创 代码规范,个人向。
1.版本迭代,功能的变动以V1.0,V2.0个位数版本号递增,细节优化以小数版本号递增。不论改动大小,都需要添加更新说明文档。4.模块化处理,以文件夹名User+功能名称做收纳管理,降低各板块之间的耦合性,出错便于排查,也方便移植和修改。5.尽量少源码移植或者随意搬用他人的代码,导致代码风格混乱,拼接感严重。2.变量命名,尽量用常用英语作为变量名称,避免缩写简写,名词过长可以适当缩写。6.删减不必要变量,调试时添加的变量再试验完毕后清除。3.排版清晰,每一个功能模块的函数上下空行隔开。
2024-03-18 16:02:29 355
原创 IQMath库,位置式PID调节,个人记录
使用IQMath库时注意变量名称的添加和设置,将定点数和浮点数以后缀__iq,__f区分开,也需要注意使用24位格式定点数的时候,在数据代入运算之前除以1000(该值随意确定后续转换回浮点数只要再乘以这个数就可以了)只要保证数据不超过-128,+127。而且要大致估算一下参与运算后是不是会跳出这个区间。转换为浮点数时候,理想情况下还是有一个统一的转换函数,但是我实际进行的时候总是需要在函数体内转换完就取出来用,可以多添加几个临时变量,做好变量名称命名就好。
2024-03-14 08:33:51 325
原创 全局变量与局部变量引起的BUG
在一阶滤波中调用了该变量的指针,所以将此变量设置为局部变量时加入关键字static,否则会导致IQmath格式转换为浮点时出现数据异常。
2024-03-11 15:01:46 327
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人