100分请教高手GPIO该如何调用
我这有个D525的工控主板,自带GPIO功能,4进4出。
下面的是厂家告知的GPIO的参数:
BIOS 默认:
GPIO 17,20,27,28 ==>GPO 0(低电平)
GPIO 51,53,54,55 ==>GPI如果要设定GPIO17为1(高电平)
GPIO Base=0x500 + 0x0E(bit1)设为1就可以了,
设为0就是低电平
如果是GPIO51(Input)
那么就读0x500+0x3A(Bit3),读到1就代表输入的是高电平,0就是输入的是低电平
请教高手,如何编写这种D525主板的GPIO调用程序?在网上找了若干,但都无果,好几天了,再搞不定就崩溃了 GPIO
[解决办法]
不懂,既然你知道对应的映射地址,直接用指针读写就行了啊
你那个GPIO base有点没看明白
如果是GPIO51(Input)
那么就读0x500+0x3A(Bit3),读到1就代表输入的是高电平,0就是输入的是低电平
0X500+0x0e+51=?
void SetBit(uint8_t gpio)
{
volatile uint32_t *ptr;//假设是32位机
switch(gpio)
{
case 51:
ptr=GPIO51的映射地址
*ptr=1;//根据情况对该地址的某一位进行或操作
break;
case 53:....
}