4x4 키패드에서 키를 치고 내가 쳤던 번호를 표시 할 때까지 기다리는 C 프로그램을 실행하려고합니다. 내가 조금씩하는 프로그램이지만 시작하자마자 끝나고 내 실수는 찾을 수 없습니다.디버깅! 프로그램이 실행되지 않습니다
#include <wiringPi.h>
#include <stdio.h>
#define COL1 11
#define COL2 10
#define COL3 6
#define COL4 5
#define ROW1 4
#define ROW2 3
#define ROW3 2
#define ROW4 1
#define DET 0
int colnum;
int rownum;
int keyinterrupt (void)
{
int col[] = {COL1, COL2, COL3, COL4};
int row[] = {ROW1, ROW2, ROW3, ROW4};
int reset;
for(colnum = 0; colnum++; colnum < 4)
{
for(reset = 0; reset++; reset < 4)
{
digitalWrite(col[reset], 0);
}
digitalWrite(col[colnum], 1);
for(rownum = 0; rownum++; rownum < 4)
{
if(digitalRead(row[rownum]))
{return 0;}
}
}
}
int main (void)
{
pinMode(COL1, OUTPUT);
pinMode(COL2, OUTPUT);
pinMode(COL3, OUTPUT);
pinMode(COL4, OUTPUT);
pinMode(ROW1, INPUT);
pinMode(ROW2, INPUT);
pinMode(ROW3, INPUT);
pinMode(ROW4, INPUT);
if(wiringPiISR (DET, INT_EDGE_RISING, &keyinterrupt) < 0)
{
printf("Unable to setup ISR");
return 1;
}
while(1)
{
while(!DET)
{
delay(1);
}
printf("The key pressed was at Col:%i Row:%i", colnum, rownum);
}
return 0;
}
누군가 아래 투표를 설명 할 수 있습니까 ?? – Marmstrong
사람들이 코드를 검토하도록 요청하면 투표가 종료됩니다. 질문은보다 집중적이고 구체적이어야합니다. –
나는 여기에서 새롭고 그것을 모르고 있었다. 나는 이것을 오래 동안 붙들어 왔지만 계속 노력할 것입니다. 불편을 끼쳐 드려 죄송합니다. – Marmstrong