主函数已经包含以下函数,且顺序检查过了,在主函数开始已经初始化
void jidianqi_int(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPU; //设置成上拉输入
GPIO_Init(GPIOF,&GPIO_InitStructure);
}
另一个子函数的头文件定义
#define IN00 GPIO_ReadInputDataBit(GPIOF,GPIO_Pin_5)//读取继电器0控制输入端
#define IN01 GPIO_ReadInputDataBit(GPIOF,GPIO_Pin_4)//读取继电器1控制输入端
#define IN02 GPIO_ReadInputDataBit(GPIOF,GPIO_Pin_3)//读取继电器2控制输入端
#define IN03 GPIO_ReadInputDataBit(GPIOF,GPIO_Pin_2)//读取继电器3控制输入端
#define IN04 GPIO_ReadInputDataBit(GPIOF,GPIO_Pin_1)//读取继电器4控制输入端
#define IN05 GPIO_ReadInputDataBit(GPIOF,GPIO_Pin_0)//读取继电器5控制输入端
#define IN06 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_15)//读取继电器6控制输入端
#define IN07 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_14)//读取继电器7控制输入端
还有没有写的函数么?为什么我的下面的函数没反应?temp是串口输入值,当值为1是,继电器反向,串口有反应,led灯也变换,但是输入没有反应,单独换成if(IN01==0)也没有反应
if(temp==1||IN01==0)
{
OUT1=!OUT1;
LED=0;
delay_ms(100);
LED=1;
}
|