欢迎来到天天文库
浏览记录
ID:59783230
大小:13.00 KB
页数:2页
时间:2020-11-24
《STM32学习之开发流程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、STM32学习之开发流程 1.设置系统时钟(SystemInit()函数) 一般都会写在SystemInit()函数里,主要用来设置MCU的时钟频率,不过新版本的库已经将其集成了,只需要定义一个时钟频率有关的宏就可以实现了。不过自己还是知道的好,免得不关注它到需要的时候不知如何设定MCU的时钟频率。 2.开放模块时钟(RCC_Config()函数) 一般我都会写在RCC_Config()函数里,主要是用来开放你将要使用的模块的时钟。这里与之前我所接触到的51单片机不同,51好像就不能
2、手动开放时钟。从一些书籍中看到,STM这么做是为了通过关闭不使用模块的时钟来降低运行时的功耗。所以在使用模块之前,一定要记得开放你要使用的模块。还有就是学来的一个习惯,将你所要使用的所有模块的时钟都在这个函数中开放,以备查,而且程序看起来也清爽的多,免得东一句西一句,漏掉了都不知道。 3.进行模块配置(XXX_Config()) 一般我都会写在XXX_Config()函数里,这里的XXX是沿用库中所说明的模块的名称。不同的模块的配置虽然形式上是不同的,可是本质上其实库文件为了定义的函数让人更
3、容易理解些,从名称上看起来都差不多。此处的配置需要根据不同的模块以及你要实现的功能来编写,必须要一个模块一个模块认真的学习。这里不只仅仅配置模块,由于有些模块的中断开启很简单,所以在这个函数中,我习惯将开启模块中断,开启模块等一两句就可以解决的操作在这里一并做好。 4.模块引脚配置(GPIO_Config()) 大部分模块都是要使用到引脚的,既然要使用到引脚就需要将相应引脚配置成你所需要的模式。我一般都会在GPIO_Config()函数中编写要使用到的模块的引脚,该函数中,在使用XXX_GP
4、IO_Config()函数来写每个模块的引脚配置,感觉好清爽。5.中断优先级设置(NVIC_Config()) 对于使用到中断的程序,还要对中断优先级进行配置。一般放在NVIC_Config()中。6.中断线路配置(EXIT_Config()) 姑且这么称呼吧,因为我看到的有个line,貌似只有使用到引脚引入的中断需要单独的在此函数EXIT_Config()中配置。不过引脚号即GPIOx—_Pin_y中的y是必须和所配置的中断线路号是一致的。 7.中断服务程序(XX_IRQHandl
5、er()) 如果开启了中断,就必须要要到文件stm32fx_it.c下找到相应的终端服务程序的框架(只有一个函数头),编写相应的中断服务程序。一般是XX_IRQHandler()函数。
此文档下载收益归作者所有