#define SDA_OUT() {GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=(u32)3<<28;} 上面的意思, 其实就是切换PA_7的模式, 控制模式的寄存器叫CRL跟CRH, 如下图:CRL(引脚0-7):CRH(引脚8-16):研究了一下,GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=(u32)8<<28;...
那么, 如果要修改PB_11的配置, 就修改CRH, 移动3*4次就好。 #define SDA_IN() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=(u32)8<<12;}#define SDA_OUT() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=(u32)3<<12;} 1. OK啦!!! ---《END》---...
那么, 如果要修改PA_11的配置, 就修改CRH, 移动3*4次就好, #define SDA_IN() {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=(u32)8<<12;} #define SDA_OUT() {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=(u32)3<<12;} 经验证, 成功.
不一定。看自己需要进行购买。stlink具有在线调试,现在程序,读写flash的功能。是st单片机的配合工具,在其他单片机可能就不实用了。调试单片机可以用jlink,stlink都可以。建议jlink,这种可以调试所有的arm,不仅仅是stm32。
MPU_SDA_IN(); //SDA设置为输入 MPU_IIC_SDA=1;MPU_IIC_Delay(); MPU_IIC_SCL=1;MPU_IIC_Delay(); while(MPU_READ_SDA) { ucErrTime++; if(ucErrTime>250) { MPU_IIC_Stop(); return 1; } } MPU_IIC_SCL=0;//时钟输出0 return 0; ...
{RCC->APB2ENR|=1<<2;//PA时钟使能RCC->APB2ENR|=1<<7;//PF时钟使能//PA5 时钟 RC522_SCLK//PA6 输入 RC522_INPUT//PA7 输出 RC522_OUTPUTGPIOA->CRL&=0x000FFFFF;GPIOA->CRL|=0x38300000;GPIOA->ODR|=0x3<<5;//RC522_RST <--->PF1--复位脚//RC522_SDA <--->PF0--片选脚...
static void PT2313_SDA_IN(void) { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = PT2313_I2C_SDA_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(PT2313_GPIO_PORT_I2C_SDA, &GPIO_InitStructure); } static void...
STM32的GPIO口的几种输入输出模式的区别和适用场合 输出模式只有4种哦,另外4种是输入模式,这个问题很常见:下面是引用文字:(1)浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1 (2)带上拉输入_IPU——IO内部上拉电阻输入 (3)带下拉输入_IPD——IO内部下拉电阻输入 (4)模拟输入_...
(1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1 (2)带上拉输入_IPU——IO内部上拉电阻输入 (3)带下拉输入_IPD—— IO内部下拉电阻输入 (4) 模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电 (5)开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。
IN-A:PB2a +:5V -:GND (7)卧室照明灯:一盏3W大功率LED灯模拟 PB8---LED (8)客厅照明灯:一盏3W大功率LED灯模拟 PB9---LED (9)环境光检测检测:BH1750数字传感器 SDA---PB7 SCL---PB6 GND---GND地 VCC---VCC电源(3.3V~5.0V) (10)温湿度传感器...