stm32学习之旅
今天经过自己慢慢的琢磨,发现我用固件库2.0版本,要使程序编译通过,一定需要四个文件,分别是:STM32F10x.s
STM32F10xR.LIB
STM32F10x._it.c
main.c
这是我自己想的,可能有错,其实我觉得有错,但是不知道错在哪里,因为网上我看到it.c就是所有的中断函数,那不用到就可以不用,但是给我的列程只是用GPIO口点个流水灯,用不着中断啊,那为什么我把it.c移除,就不行了,请问在main函数里怎么可以看出是不是用到了中断,或者it.c换句话说,要用到it.c怎么写啊?能说说下,我好在示例的main里找到。
还有一个问题就是,他给我的工程模板是main点开来就包含28个.h文件,这样看起来太多了,如果我只放我需要用到的,是不是在lib.h文件注释掉我不需要用的功能就行了?
比较明智的做法时你现在应该使用最新的标准库或者HAL库,2.0的固件库太老了。 库有库的方便,想更深入了解可以自己操作寄存器, creep 发表于 2016-11-26 09:04
比较明智的做法时你现在应该使用最新的标准库或者HAL库,2.0的固件库太老了。 ...
但是很多人都说hal库有bug wdshuang09 发表于 2016-11-26 09:42
库有库的方便,想更深入了解可以自己操作寄存器,
那能不能帮我解答一下提出来的两个疑惑呢? 赵怡彬 发表于 2016-11-26 10:22
但是很多人都说hal库有bug
标准库也有最新的可以用啊。 1、STM32F10x.s
汇编文件,如果是启动文件,那是肯定需要的
2、STM32F10xR.LIB
库,没库你怎么用~
3、STM32F10x._it.c
stm32的中断服务函数汇集地,没有也可以,但是你需要重新声明所有需要到的中断服务函数
4、main.c
废话,没有怎么搞~ 进来学习学习 一、启动文件中有中断向量,所以需要相应的处理函数,就是_it.c里的东西。比如你调用了个函数,却没有函数体,编译不过,对吧?
二、用不到的.h可以注释,不过,需要吗?
以上为个人理解。 应该用3.5的库版本,旧版本都有问题。