STM32 (GPIO 同时输入和输出)——补充
GPIO_SetBits(GPIOB,GPIO_Pin_5);//输出高电平Delay1(3);//延迟GPIO_SetBits(GPIOB,GPIO_Pin_4);//...
GPIO_SetBits(GPIOB, GPIO_Pin_5); //输出高电平
Delay1(3);//延迟
GPIO_SetBits(GPIOB, GPIO_Pin_4); //时钟信号高
Delay1(3);
GPIO_ResetBits(GPIOB, GPIO_Pin_4); //时钟信号低
Delay1(3);
Read=GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5);//采集输入的信号
这段代码输入输出有干扰,不可以用,那这样行不行啊。
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB, GPIO_Pin_5); //输出高电平
Delay1(3);//延迟
GPIO_SetBits(GPIOB, GPIO_Pin_4); //时钟信号高
Delay1(3);
GPIO_ResetBits(GPIOB, GPIO_Pin_4); //时钟信号低
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;
GPIO_Init(GPIOB, &GPIO_InitStructure);
Delay1(3);
Read=GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5);//采集输入的信号
然后后面要是在用到输出的时候就先用这句
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
又用到输入,就再写上这句
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;
GPIO_Init(GPIOB, &GPIO_InitStructure);
可不可以??????? 展开
Delay1(3);//延迟
GPIO_SetBits(GPIOB, GPIO_Pin_4); //时钟信号高
Delay1(3);
GPIO_ResetBits(GPIOB, GPIO_Pin_4); //时钟信号低
Delay1(3);
Read=GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5);//采集输入的信号
这段代码输入输出有干扰,不可以用,那这样行不行啊。
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB, GPIO_Pin_5); //输出高电平
Delay1(3);//延迟
GPIO_SetBits(GPIOB, GPIO_Pin_4); //时钟信号高
Delay1(3);
GPIO_ResetBits(GPIOB, GPIO_Pin_4); //时钟信号低
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;
GPIO_Init(GPIOB, &GPIO_InitStructure);
Delay1(3);
Read=GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5);//采集输入的信号
然后后面要是在用到输出的时候就先用这句
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
又用到输入,就再写上这句
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;
GPIO_Init(GPIOB, &GPIO_InitStructure);
可不可以??????? 展开
展开全部
恩,应该可以滴。
不过,如果这几句经常用,可以把它用宏定义来预编译。这样在用时,直接一句调用就行。
如 #define GPIO_OUT() {GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
不过,如果这几句经常用,可以把它用宏定义来预编译。这样在用时,直接一句调用就行。
如 #define GPIO_OUT() {GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
没啥子问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询