Есть плата, хочу использовать порты DIO в качестве GPIO, на этой картинке таблица с их адресами взятая с сайта производителя. Так же производитель предоставил отрывок кода для работы с ними, который я к сожалению не понимаю:
#include <stdio.h>
#include <sys/io.h>
int main() {
if (ioperm(0x7A,4,1)<0){
printf(“Error\n”);
return -1;
}
//set pins0 to 3 to inputs
ioval=inb(0x7a);
ioval= ioval & 0xFE;
outb(ioval, 0x7A);
return 0;
}
Для начала хочу научиться, как минимум работать с ними как в Arduino (т.е. снимать и подавать с них напряжение).
Относительно кода, я так представляю, что функция ioperm(0x7A,4,1) просто запрашивает разрешение на работу с определенным портом, но как адресоваться на конкретную ножку я не понял, по картинке адрес 0x7B для DIO1 и ножек 0-7, как включить\отключить например 3? Что делает эта связка ioval= ioval & 0xFE; мне не ясно совсем