나는 LPC 보드를 가지고 있으며, 핀을 반복하고 LED/와이어로 연결할 때 이들이 높거나 낮은지 확인해야한다. 문제는 핀이 특정 순서가 아니라는 것입니다. 20 개의 입력 GPIO와 20 개의 출력이 있습니다.C 루프를위한 GPIO
나는 핀을 매크로 표현식으로 정의했다. #define GPIO1 0,1 #define GPIO2 1,19
그리고 배열로 저장했습니다. 내가 읽어 봤는데 것과
Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, PIN_INDEX, PIN_NUMBER);
이제 :이 배열의 루프를 수행하려고 할 경우 gpio_outputs[] = {GPIO1, etc};
하지만 그것은 나를 "너무 적은 인수"
for (i=0;i<sizeof(gpio_outputs);i++){
// Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, gpio_outputs[i]);
//}
이
Chip_GPIO_SetPinDIROutput
의 프로토 타입은
를 알려줍니다 , 매크로식이 작동하지 않습니다. 그래서 제 질문은 모든 GPIO를 수동으로 처리 할 필요없이 어떻게 각 GPIO를 반복 할 수 있습니까?
올바른 순서의 핀으로 배열을 정의한 다음 반복합니다. –
동일한 실제 포트에 20 개의 핀이 모두 있습니까? 매크로의 두 숫자는 무엇입니까? 그리고 매크로는 그렇게 작동하지 않습니다. 필요한 실제 데이터가있는 테이블을 가져야합니다. "핀 인덱스"와 "핀 번호"의 차이점은 무엇입니까? – unwind
두 행이 있습니다. 각 행에는 색인이 있습니다. 예 : 왼쪽 행 색인 0, 오른쪽 행 1. 실제로 설명하는 방법은 아니지만 설명하기 쉽습니다. 실제 GPIO 번호는 여기 저기에 있습니다. 예 : 1, 19, 0, 2 번 핀이 있습니다. https://cdn-shop.adafruit.com/1200x900/1342-00.jpg – Filip