本来想直接发一个调试空气温湿度的传感器的代码顺便介绍一下Mexn同学在使用固件库中总结的一些经验,但是由于Mexn但是由于传感器是类I2C通信协议的,一个“类”坑的不轻啊。中间设计跳变沿触发以及SDA数据线与SCL有太复杂的关系,原谅楼主的无知这些操作在固件库中的函数至今没有找到。
现在STM的固件库与以前的在结构上做了很大的调整,不过注释和程序文档写的还算清晰经过向楼主这样的脑残党终于看出了眉目,而且固件库是兼容以前的。
要想看懂固件库首先再有固件API文档,然后是网络(英语不像楼主这样渣的就不用了)
S1:首先打开一个例程找到main函数怎么着在我上一次发的帖子中有详细的介绍不知道的可以去看看:
http://forum.eepw.com.cn/thread/278701/1
S2:首先要了解例程所对应的功能是怎么实现的必须要找到程序介绍文档:在工程文件夹下的Doc文件夹下有一个readme.txt即是。如图:
文档中包含了一些重要的连线的介绍如图I2C的程序说明文档中包含两块板子的两线方式的说明:
这个文件大体一看知道这个程序的功能就可以了,主角是是main文件夹。
S3:打开main文件夹如图:
只要是是在#include “main.h”之前的英文直接删掉就可以了,这些是程序著作申明和专利问题等。库函数的使用类似于MFC框架结构只要了解了结构就好办了。在每一个函数定义之前都会有定义复制到翻译器里就可以知道函数意思了,如果还不够清楚可以复制到固件API文档中例如以硬件初始化函数HAL_Init()为例,
如图:
点击回车就可以出现函数的详细说明:
另外要学会使用Go To~~~的使用也是很重要的用法就是将光标点在变量或者是函数的上面右击如图:
便可跳转到定义出。
下边是我修改的I2C的main文件和IO的main文件里边的所有注释都改成了中文。但是由于是在keil下的代码中文的编码凡是不一样,做个链接吧:
http://pan.baidu.com/s/1qX2tmaw
当你把所有的文件里的英文修改成能看懂的中文就可以看懂整个程序,所有的例程逻辑框架结构非常清晰而且完美。