标题:
从51入门stm32,位带操作GPIO以及GPIO初始化用头文件
[打印本页]
作者:
_4061N_
时间:
2019-6-15 16:03
标题:
从51入门stm32,位带操作GPIO以及GPIO初始化用头文件
本帖最后由 _4061N_ 于 2019-6-20 19:05 编辑
如题,我是刚刚从51单片机入门的STM32,看到库函数操作凌乱的一匹。
所以将STM32F1的所有GPIO配置的位带别名区的寄存器地址都定义了名字,使用这个定义头文件,可以不必使用库函数,直接去完成点亮LED灯的首要任务......(加快51的代码移植)
而且我感觉这个头文件将来一定是有用的。(整整打了2000行宏定义)
我觉得这个东西很方便,所以现在将其分享出来。
头文件作用:帮助直接操作特定IO口的状态、可以通过一个符号就实现单个IO口的初始化(每个IO的初始化实际最多生成两句C代码,已经是最简形式了)。
使用方式看单片机代码
补充:现今准备将所有寄存器都搞一下,持续更新......//已完成内容:
/*定时器寄存器组TIMx (通用(2、3、4、5 ) + 基本(6、7))
TIMx_CR1 //控制寄存器 1
TIMx_CR2 //控制寄存器 2
TIMx_SMCR //从模式控制寄存器
TIMx_DIER //DMA/ 中断使能寄存器
TIMx_SR //状态寄存器
TIMx_EGR //事件产生寄存器
TIMx_CCMR1 //捕获/ 比较模式寄存器 1
TIMx_CCMR2 //捕获/ 比较模式寄存器 2
TIMx_CCER //捕获/ 比较使能寄存器
TIMx_CNT //计数器
TIMx_PSC //预分频器
TIMx_ARR //自动重装载寄存器
TIMx_CCR1 //捕获/ 比较寄存器 1
TIMx_CCR2 //捕获/ 比较寄存器 2
TIMx_CCR3 //捕获/ 比较寄存器 3
TIMx_CCR4 //捕获/ 比较寄存器 4
TIMx_DCR //DMA 控制寄存器
TIMx_DMAR //连续模式的DMA 地址
*/
/*外部中断配置寄存器组:
AFIO_EXTICR1 //外部中断配置寄存器1
AFIO_EXTICR2 //外部中断配置寄存器2
AFIO_EXTICR3 //外部中断配置寄存器3
AFIO_EXTICR4 //外部中断配置寄存器4
*/
/*EXTI中断与事件寄存器组:
EXTI_IMR //中断屏蔽寄存器
EXTI_EMR //事件屏蔽寄存器
EXTI_RTSR //上升沿触发选择寄存器
EXTI_FTSR //下降沿触发选择寄存器
EXTI_SWER //软件中断事件寄存器
EXTI_PR //挂起寄存器
*/
/*GPIO配置寄存器组:(带操作)
GPIOx_CRL //GPIOx_配置寄存器1
GPIOx_CRH //GPIOx_配置寄存器2
GPIOx_IDR //GPIOx_输入数据寄存器
GPIOx_ODR //GPIOx_输出数据寄存器
GPIOx_BSRR //GPIOx_位设置/ 清除寄存器,写0无效
GPIOx_BRR //GPIOx_位清除寄存器,写0无效
GPIOx_LCKR //GPIOx_配置锁定寄存器
*/
/*RCC配置寄存器组:
RCC_CR //时钟控制寄存器
RCC_CFGR //时钟配置寄存器
RCC_CIR //时钟中断寄存器
RCC_APB2_RSTR //APB2外设复位寄存器,写0无效
RCC_APB1_RSTR //APB1外设复位寄存器,写0无效
RCC_AHB_ENR //AHB外设时钟使能寄存器
RCC_APB2_ENR //APB2外设时钟使能寄存器
RCC_APB1_ENR //APB1外设时钟使能寄存器
RCC_BDCR //备份域控制寄存器
RCC_CSR //控制/状态寄存器
RCC_AHBRSTR //AHB 外设时钟复位寄存器
RCC_CFGR2 //时钟配置寄存器 2
*/
//include 这个头文件
#define NRF24L01_CE PA4_O
#define NRF24L01_CSN PC4_O
#define NRF24L01_SCK PA5_O
#define NRF24L01_MOSI PA7_O
#define NRF24L01_MISO PA6_I
#define NRF24L01_IRQ PC5_I
//include NRF24L01软驱动头文件
void GPIO_Configuration(void )
{
//NRF24L01配置
PA4_SET_50M_PP //注意:这里是没有分号的
PC4_SET_50M_PP
PA5_SET_50M_PP
PA7_SET_50M_PP
PA6_SET_IPU
PC5_SET_IPD
PB0_SET_50M_PP
PB1_SET_50M_PP
}
int main (void)
{
GPIO_Configuration( );
......
}
复制代码
0.png
(3.35 KB, 下载次数: 57)
下载附件
2019-6-15 19:47 上传
全部资料51hei下载地址:
RES_F1.zip
(51.34 KB, 下载次数: 19)
2019-6-20 19:05 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1