用C++写STM32代码(二) 操作引脚

本文介绍了如何使用C++为STM32系列微控制器编写操作引脚的代码,包括引脚类的设计、构造函数以及成员函数的实现,特别是针对STM32F4系列的寄存器直接操作。内容涵盖输入输出、模式设置和初始化步骤,讨论了时钟开启的方法以及优化考虑。

先贴出最终效果

STM32_Pin PC7	(GPIOC,7 );

//LED灯闪烁效果
PC7.Init(IO_Mode_Output);
while(1)
{
	PC7.Set();//引脚置高电平
	delay(500);
	PC7.Clr();//引脚置低电平
	delay(500);		
}

 接下来是引脚类的定义 

#include <stdint.h>
#include "STM32头文件"
class STM32_Pin
{

	GPIO_TypeDef* const GPIOx;
	uint16_t const pos;
	uint16_t const mask;

public:		
	STM32_Pin(GPIO_TypeDef* GPIOx,uint16_t pos);

	//IO控制
	void Init(IO_Mode mode);	//初始化	
	void Set();			//置高电平
	void Clr();			//置低电平
	bool Input();		//读输入电平
	void SetMode(IO_Mode mode);	//设置输入输出模式
	
};

这个类的定义适用于STM32多种系列,不管是F1,F4还是F0系列都可以用,只是具体的实现方式略有不同

GPIOx对应的是STM32的GPIO组也就是GPIOA,GPIOB...

pos对应的是该组的第n个引脚

这两个参数用来构造引脚类对象,构造方式如下

STM32_Pin PC7	(GPIOC,7 );

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值