|
谢谢两位 不过
我的第二个问题 怎么解决呢? /* Configure PC.05 as Output push-pull */ 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);
如果我现在需要在程序里面不断的修改 IO 模式 是直接 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; 这样更改就可以呢?还是 要 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 ; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; GPIO_Init(GPIOB, &GPIO_InitStructure); 这样呢?
问题源自:制作DS18B20的温度传感器 单线 但是有四种状态 控制 释放 下拉 上拉
在AVR里面 #define BIT_SET(a,b) a|=b #define BIT_CLR(a,b) a&=~b #define BIT_INV(a,b) a^=b #define BIT_STATUS(a,b) a&b
const unsigned char db7[10]={ 0xEE,0x22,0xD6,0x76,0x3A,0x7C,0xFC,0x26,0xFE,0x7E};
/********************************************************************************/ // DS18B20操作定义 /********************************************************************************/ #define CLR_DS18B20 BIT_CLR(PORTD,0x80) //数据线强制拉低 #define SET_DS18B20 BIT_SET(PORTD,0x80) //数据线强制拉高,上拉 #define HLD_DS18B20 BIT_SET(DDRD,0x80) //Mega16控制总线 #define RLS_DS18B20 BIT_CLR(DDRD,0x80) //释放总线 #define STU_DS18B20 BIT_STATUS(PIND,0x80) //数据线的状 在STM32里面呢? 如何控制IO状态 |
|