3.5 Der Befehl "open" funktioniert nicht wie gewünschtHier der Code: static char device[]="/dev/qadc0"; main() { int fd; int value; char *pdev = &device[0]; printf("Hier soll der QADC ausgelesen werden\n"); printf("Adresse pdev: %lx\n",pdev); printf("Momentan wird nur das device: %s geoeffnet und geschlossen. \n", pdev); fd = open(pdev, O_RDONLY); printf("Der Rueckgabewert von open lautet: %d\n",fd); if(fd < 0){ printf("Leider stimmt aber irgendwas mit dem angegebenen Device nicht\n"); }else{ close(fd); printf("Das Device wurde wieder geschlossen!\n"); } } Und hier der Output: /usr> ./readqadc-1_0 Hier sobad frame format: 00000000 PC: [<00748482>] SR: 2708 SP: 0067bef4 a2: 000e1660 d0: ffff7fff d1: 00002004 d2: 00000000 d3: 001df250 d4: 0000ca00 d5: 0063a000 a0: 00748460 a1: 00748400 Process readqadc-1_0 (pid: 55, stackpage=0067b000) Frame format=4 Stack from 0067bf30: 00706500 000e1660 ffffffe9 000e1660 00706500 0067bf68 000289c6 00706500 000e1660 00000001 00000000 00000000 007c930c 00146d50 0067bfa0 000288d4 0070bba0 001df250 00000000 00000005 00000003 0070bba0 001df250 001cb200 000001f0 00000005 00000001 00000001 0067bfc4 00028c00 0063a000 00000000 0000ca00 00000005 00028bc2 0000ca00 0069bc24 0069ff2c 00013ad2 0069ca00 00000000 0000ca00 0000ca00 0069bc24 00000000 0069ca00 00000000 ffffffda Call Trace: [<000289c6>] [<000288d4>] [<00028c00>] [<00028bc2>] [<00013ad2>] Code: c1b9 4019 0000 46c1 4280 4e5e 4e75 4e56 0000 40c1 ll eder QADC ausgelesen werden Adresse pdev: 69ca00 Momentan wird nur das device: /dev/qadc0 geoeffnet und geschlossen. pid 55: failed 11 /usr> Der print-ausdruck nach open kommt nicht mehr
Copyright © Andreas Birkert Letzte Aktualisierung am 20. Dezember 2013 |