stm32代码移植to-txr

PS:
st官方文件如stm32f10x_gpio.c,.h以及stm32f10x_usart.c,.h和我们自己写的结构相似(st前缀的文件切记不能改,除了stm32f10x_it.c(中断相关,具体后面讲)),c是函数定义,h是函数声明,一般先去h里面找对应函数(一般在末尾),然后右击(如果拿到的是别人写好的,就直接右击函数go to def看定义)。
开始移植
1.改引脚。先看引脚是否是重定义功能,如图,如果是需要调用重定义函数(具体去stm32f10x_gpio.h(因为是GPIO相关的,所以在这个文件)里的函数声明去找相应的函数,一般同类型的芯片,别人之前也写着有,你注意一下就行)。
stm32代码移植to-txr
2.时钟
时钟开启相关的函数在stm32f10x_rcc.c文件1000行附近(也可直接去.h找),一般别人也写着有,你看一下你的时钟端口是否和别人一样,每个外设对应的时钟可以在stm32f10x.rcc.h文件500行左右。
stm32代码移植to-txr
对于复用功能的引脚还需要开启AFIO时钟 详情看这个 http://suo.im/6bx1EJ
3.主函数处理,CPU一次只能执行一个指令,所以需要采用中断或使用DMA传输进行某些操作,且stm32的启动文件,例如startup_stm32f10x_hd.s(core文件夹里面) 里面有很多中断跳转的入口。用白话说就是固件库帮你写好了发生什么中断时跳转到哪里,这些名字是一个函数名,你要把这些函数写出来,然后中断来了stm32就跳到这样函数名的函数里面来。这些函数最好放到stm32f10x_it.c这个文件里。中断无需声明,没有返回值。
stm32代码移植to-txr
切记相应中断一定要对应相应的函数,如果不一样会出现逻辑错误,不会出现语法错误。

Go to def之前必须先编译一次,某个外设相应的初始化结构体在相应的.c文件里面(未完待续,记得关注!哈哈哈哈)