io可以这样使用,不过每次切换前需要重新配置,所以比较少这样处理不过有一种单总线协议就需要这样处理,去读取数据比如One-Wire总线,其实就需要相应的IO口既能输出,也能输入,比如相应的驱动部分有代码为:
/@@*****************THS_ds18b20.h*******************/ #define DS18B20_DQ_PIN TES_SENSOR_PIN /@@*定义DQ引脚为温度传感器引脚*/ #define DS18B20_IO_OUT() GPIO_Init(DS18B20_DQ_PIN GPIO_Mode_Out_PP_High_Fast) /@@*设置stm8上的DQ引脚为输出模式*/ #define DS18B20_IO_IN() GPIO_Init(DS18B20_DQ_PIN GPIO_Mode_In_PU_No_IT)/@@*设置stm8上的DQ引脚为输入模式*/ #define DS18B20_DQ_HIGH GPIO_SetBits(DS18B20_DQ_PIN) #define DS18B20_DQ_LOW GPIO_ResetBits(DS18B20_DQ_PIN);