stm32 io口一下输出一下输入怎么设置 10
2个回答
展开全部
如此,(输出)[初始化为输出]---[执行输出];;;;(输入)[初始化为输入]---[执行输入];;;;
《!--本质---分时复用--》
《!--本质---分时复用--》
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么说吧,STM32的IO比其他单片机稍微复杂一点,但是弄明白了也就那样。
我给你说库函数版本的,例如:假如PA0先出后入。
(1)在使用之前先使能APB外设GPIOx的时钟源
RCC_APB2PeriphClockCmd( (RCC_APB2Periph_GPIOA);
(2)输出状态,
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;//不一定是这种输出,看自己需要
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_WriteBit( GPIOA, GPIO_Pin_0, Bit_SET ) ;//PA0 = 1
(3)现在换成输入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;//不一定是这种输入
GPIO_Init( GPIOA, &GPIO_InitStructure ) ;
我给你说库函数版本的,例如:假如PA0先出后入。
(1)在使用之前先使能APB外设GPIOx的时钟源
RCC_APB2PeriphClockCmd( (RCC_APB2Periph_GPIOA);
(2)输出状态,
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;//不一定是这种输出,看自己需要
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_WriteBit( GPIOA, GPIO_Pin_0, Bit_SET ) ;//PA0 = 1
(3)现在换成输入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;//不一定是这种输入
GPIO_Init( GPIOA, &GPIO_InitStructure ) ;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询