stm32不用固件库,需要哪些头文件
我想要的开发方式类似于51单片机,包含一个 reg52.h 就行了。
网上看到很多人也是脱离固件库进行stm32开发的,但是我不知道具体是怎么弄的,要用到哪些头文件?我只包含了一个 stm32f10x.h 但是会报错。
求大神指导 STM32 不用库
[解决办法]
包含一个 reg52.h 就行了。
类似这个的头文件,STM32都以那个库的形式提供
如果要脱离,那也好办
自己重新定义各种寄存器的地址。。。
都一样的
[解决办法]
看STM32的用户手册,自己定义一个类似reg52.h 的头文件,不就是一堆寄存器的地址么,或者再高级点,向stm32库中那样将各个模块的寄存器组整成结构体变量的样子.如果不会,请参考STM32库里的头文件,并去看C语言。
然后参照数据手册和STM32的库,可以定义自己的库函数。
多说一句:如果从做项目的角度看,拿来主义才是最好的方案,自己做上述这些纯粹是画蛇添足,因为STM32的库比较稳定,效率也还可以;但如果是一个初学者的探索,个人觉得这样的精神是值得鼓励的,因为在做这些工作的过程中,你会学到很多东西。
另外,好像ucos官方提供的stm32版本的内核中似乎用的不是官方库,是自定义的,可以参考一下。
[解决办法]
当然也可以只包含stm32f10x.h了,因为这个文件里就是一堆寄存器的地址宏定义而已。
你上面列出的错误,是stm32f10x.h需要你定义使用的那个芯片,应该是用一个宏来定义。
我机器里的这个版本的stm32f10x.h没有这个东西。
你可以找到stm32f10x.h中有这个提示的地方
#error directive: "Please select first the targe...
看是哪个宏来决定输出或不输出上述语句,然后定义相关的宏,就可以了
[解决办法]
思路不对,固件库也要,是将所有库封装成.dll,
再增加个
#include "stm32f10x_lib.h"
每次用编译只是调用中间件,编译飞快,,