Forum Discussion
Altera_Forum
Honored Contributor
21 years agopio button
Hi,
I try to use pio button. Typing cat /dev/button I can see that the button drivers are working. How can I use the functions in altera_pio_button.c to make my own uClinux app? thanks stepa2 Replies
- Altera_Forum
Honored Contributor
I think the following code works... it's been awhile since I looked at it. I think there may have been an issue with shutting down the app properly but it should give you some good ideas as to how to proceed.
#include <stdio.h># include <unistd.h># include <fcntl.h># include <stdlib.h> /* open /dev/button device for blocked reading * whenever button is pressed, * display number of times button was pressed since startup */ int main (int argc, char* argv) { int fd; char path = "/dev/button"; int numclicks = 0; char buf; fd = open (path, O_RDONLY); if (fd < 0) { /* error occurred */ perror ("open"); exit (EXIT_FAILURE); } else { printf ("opened %s\n", path); } /* file is now open for reading... do your stuff... */ while (read (fd, buf, 1) != 0) { if (buf == '1') { numclicks += 1; } printf ("The button has been pushed %d times.\n", numclicks); } if (close (fd) < 0) { perror ("close"); exit (EXIT_FAILURE); } else { printf ("closed %s\n", path); } exit (EXIT_SUCCESS); } - Altera_Forum
Honored Contributor
Thank you Ken