下面宏定义中,stm32管脚中怎么知道是gpio哪个组,ABCDE,是不是给哪个端口时钟使能就是哪个端口?
3个回答
展开全部
首先你得定义管脚,开启对应管脚的时钟,根据你的需要,定义管脚的工作模式,例如你要用PB3这个管脚,下面就是配置函数
void LED_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE);
/*选择要控制的GPIOB引脚*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 ;
/*设置引脚模式为通用推挽输出*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/*设置引脚速率为50MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/*调用库函数,初始化GPIOB*/
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
void LED_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE);
/*选择要控制的GPIOB引脚*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 ;
/*设置引脚模式为通用推挽输出*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/*设置引脚速率为50MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/*调用库函数,初始化GPIOB*/
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个定义只是PIN定义,光这个不知道是哪个组(端口)。
你说的没错,要确定端口(PORTABCDE...)和PIN(Pin0,1,2,...)才能确定物理管脚,使能需要给端口时钟。
你说的没错,要确定端口(PORTABCDE...)和PIN(Pin0,1,2,...)才能确定物理管脚,使能需要给端口时钟。
追问
在stm32中如何宏定义一个管脚?
在51中就直接#define cs P1^0就行了,在stm32中怎么搞?给你加分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询