****************************** 模块化开发思路和代码规范 ************************
1、尽量把所有与模块相关的功能都应集成到单个源文件中,在源文件中包括自检代码部分,以实现该模块模块的所有自检功能 即所谓的“高内聚”。
2、尽量用struct将紧密相关的变量进行集总封装。
3、请好好设计和命名固件模块的接口!
4、需要在源文件头中明确提及硬件的相关性。比如利用宏将硬件依赖转定义,或者利用函数将基本操作进行封装。 则在新的架构体系,仅仅需要移植这部分实现即可使用。 通常,固件模块能够供其他团队成员在其他项目中使用。
BUG经验积累 --没有哪个软件是没有bug的,vscode也经常有bug,所以包容一下keil吧!********************************* 1、 error: #268: declaration may not appear after executable statement in block 这是说对变量的声明不可以放在“第一条”可执行语句之后,也就是说变量的声明必须放在一个函数的开头!
2、遇到报错在“.o"文件的,并且反复查找却找不出错的(doge),可以尝试把keil关掉重新开一下 **注:keil文件的编译过程为:“.c > .i > .s > .o > …”先是预处理生成 .i 文件, .i 文件就是.c按照预处理命令处理后的文件,注释删了,该替换的替换该包含的包含 然后由 .i 编译生成 .s ,就是汇编代码,(比如启动文件那样的)由.s 汇编成 .o , .o 是机器码,用记事本打开会发现全是十六进制代码最后是链接,把附带的静态库动态库加进去生成最终的文件