#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <termios.h>
#include <errno.h>
#include <pthread.h>
#define __TIME_PRINTF__
#define __MULTI_THREAD__
#define __GPIO_OPERATION__
#ifdef __TIME_PRINTF__
#include <time.h>
#endif
#ifdef __GPIO_OPERATION__
#include "include/gpio.h"
#define PATH_DEV "/dev/gpio"
int fd_dev;
int read_gpio(int fd/*, char *buf*/)
{
int count, i;
user_gpio_set_t gpio[20];
memset(gpio, '0', 20*sizeof(user_gpio_set_t));
count = read(fd, gpio, 20*sizeof(user_gpio_set_t));
printf("read character number = %d\n", count);
for (i = 0; i < 20; i++) {
printf("[%d]: name = %s, data = %d.\n", i, gpio[i].gpio_name, gpio[i].data);
}
return 0;
}
#endif
void *pthread_read_fn_0(void *
gpio和多线程
最新推荐文章于 2022-01-08 19:26:57 发布
本文探讨了在Android/Linux环境中如何使用GPIO进行设备控制,并结合多线程技术实现并发操作。通过实例讲解了GPIO的初始化、读写操作以及如何在多线程环境下确保数据同步与安全。
摘要由CSDN通过智能技术生成