应为0x00有类型限定为uinit16_t以为着0x00这个值是16位的,根据静态类型转换规则,PIN在和其进行运算的是时会自动转换为uint16_t,所以这个宏定义实际上未归定PIN的类型,但是规定了PIN在运算时的有效数据位为低16bit
定义一个名为GPIO_Pin_0的符号,该符号等价于((u16)0x0001),也就是一个无符号短整型的0x0001。例如当对寄存器写入GPIO_Pin_0时,即相当于将该寄存器的最低位置位、其余15位清零。
嘿嘿,那是当然了,STM32是32位单片机,51是8位机,两者不是一个数量级的。51单片机的I/O口就是I/O口,没那么多功能,而STM32呢,它的GPIO口既可以做数字I/O,有些也可以做A/D,D/A,有些可以做SPI或者I2C对外通讯,还有些是做PWM脉宽输出,功能各有不同。这些功能都需要实现配置好才能让...
01 马虎大意是自己最大的敌人 我是已经不止一次犯大意的错误了
GPIO_PinSource1 = 1;GPIO_PinSource2 = 2;...GPIO_Pin_0 = 0x0001;GPIO_Pin_1 = 0x0002;GPIO_Pin_2 = 0x0004;...一般这么使用:GPIO_Pin_0 = (1<<GPIO_PinSource0);GPIO_Pin_1 = (1<<GPIO_PinSource1);GPIO_Pin_2 = (1<<GPIO_PinSource2);...为什么要这样做,看起来...
用STM32F4标准外设库开发中,语句“SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, uint8_t EXTI_PinSource4);”的作用是?( ) A.将外部中断4映射到GPIOA的所有引脚上B.将外部中断4与PA4引脚进行映射C.为PA4引脚的中断设置优先级D.使能GPIOA管脚的时钟