STM32学习9:模块化编程

当使用外设模块较多时(比如LED和按键),可以分别将其驱动代码封装起来。

分别添加各个模块的.c和.h文件。.c用来存放驱动程序的主体代码,.h用来存放这个驱动程序可以对外提供的函数或变量的声明。

例如:

1、LED.c中,首先要添加头文件:

#include "stm32f10x.h"

其次,写一个LED初始化函数:

void LED_Init(void)
{
	RCC_APB2periphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);  //开启时钟

    GPIO_InitTypeDef GPIO_InitStructure;  //定义结构体变量
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);  //将PA1和PA2引脚初始化为推挽输出

2、LED.h中,要添加一个防止头文件重复包含的代码:

#ifndef __LED_H  //前面是两个下划线,后面是一个下划线
#define __LED_H

#endif

其次,添加LED初始化函数的声明:

void LED_Init(void);

 3、在main.c文件里,写上#include "LED.h",并在主函数中调用LED _Init()并编译

按键(Key)同理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值