今天测试GPIO,测试到电压的时候有点疑问。
代码:DrvGPIO->DOUT=0; 检测电压:0V
代码:DrvGPIO->DOUT=0xffff; 检测电压:13V左右
代码:DrvGPIO_GetBit(E_GPA,1); 检测电压:3.3V
代码:DrvGPIO_ClrBit(E_GPA,1); 检测电压:3.3V
我想做的是这个代码
DrvGPIO_Open(E_GPB,0,E_IO_OUTPUT);
DrvGPIO_ClrBit(E_GPB,0);
DrvGPIO_Open(E_GPB,1,E_IO_OUTPUT);
DrvGPIO_SetBit(E_GPB,1);
i32Err=0;
do{
if(DrvGPIO_GetBit(E_GPB,0)==1)
{
i32Err=1;
}
}while(i32Err);
printf("\nSet GPIOB->Mode for input is sucess\n");
是不是用Set和Clr都是清楚或者设置数据的,而对电平没影响。
但是用寄存器,电平值会改变。很迷惑,希望大家给点建议。 |