昨天遇到一个问题,使用GPIOPinRead();函数在读取GPIO返回值的时候返回的是管脚值,我翻了技术手册但是上面没有说明什么函数是读取管脚返回值,唯一一个就是GPIOPinRead();书写过后发现只是返回值是管脚,而不是管脚得到的数值
while(1)
{
Dval0=GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_0);
Dval1=GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_1);
Dval3=GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_3);
Dval4=GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_4);
Dval5=GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_5);
Dval6=GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_6);
Dval7=GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_7);
//Dval11=*(vola
tile unsigned long*)(GPIO_PORTD_BASE);
if(!GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_0))
{ PWMGenDisable(PWM_BASE,PWM_GEN_1);
PWMPulseWidthSet(PWM_BASE,PWM_OUT_2,50);
PWMPulseWidthSet(PWM_BASE,PWM_OUT_3,600);
}
else if(!GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_1))
{
PWMGenDisable(PWM_BASE,PWM_GEN_1);
PWMPulseWidthSet(PWM_BASE,PWM_OUT_2,100);
PWMPulseWidthSet(PWM_BASE,PWM_OUT_3,500);
}
等;
具体在程序中就是
GPIOx.ODR;
GPIOx 是各芯片提供的头文件中预先定义的 GPIO_TypeDef 类型的结构体;内容对应每个端口的寄存器组;
一周热门 更多>