그래서 데이터베이스에서 데이터를 검사하는이 함수 (아래 코드)를 사용하고 있습니다. 이 데이터가 255라면 저는 나무 딸기 파이에있는 GPIO 핀 (12) 중 하나에 LED가 켜지 길 원합니다.bcm 함수를 사용하는 경우 RaspberryPi의 세그먼트 오류
나는 처음에는 bcm 함수없이 코드를 시도했다. 모두 잘 동작했다. 이제 bcm2835가 포함되었고 Makefile (컴파일 작업이 정상적으로 작동 함)이 변경되었습니다.이 "분할 오류"오류가 발생합니다.
내 프로그램이 사용해서는 안되는 메모리를 사용하고 있다는 것을 알지만, bcm 행에서이 문제의 원인을 모릅니다.
void check_pasid(char k[]){
MYSQL *conn;
MYSQL_RES * result;
MYSQL_ROW row;
char *server = "server";
char *user = "myusername";
char *password = "mypassword";
char *database = "dbname";
char query1[100];
// Make the connection to the Mysql-database.
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
sprintf(query1,"SELECT COUNT(*) FROM passcan WHERE UserID = \"%s\";",k);
int result1 = mysql_query(conn, query1);
result = mysql_store_result(conn);
row = mysql_fetch_row(result);
int compare = 1;
compare = strcmp(row[0], "1");
if(compare == 0){
printf("Led is turning on");
// Turn it on
bcm2835_gpio_write(PIN12, HIGH);
delay(5000);
// Turn it off
bcm2835_gpio_write(PIN12, LOW);
}
else{
printf("Led is not turning on");
}
}
나는 누군가가 나에 대한 몇 가지 정보를 가지고 희망 : 여기
는 기능입니다.
'k'의 문자열이 약 50 자 미만이되었거나 버퍼 오버 플로우가 발생하기를 바랍니다. –
@JoachimPileborg입니다. – moffelnijdam