首页| 论坛| 消息
主题:QT 怎么控制KIO口,接干接点信号用
回帖:linux 驱动写法
#define GPIO_TO_PIN(bank, gpio) (32 * (bank) + (gpio))
int main(int argc, char * argv)
{
int i, n, fd;
char num,val;
int ret;
fd = open("/dev/kio", O_RDWR);//打开设备
if (fd < 0)
{
printf("can't open /dev/kio!\n");
exit(1);
}
sleep(1);
ioctl(fd, 1, GPIO_TO_PIN(1,22));//设置gpio1-22为输出(user:led3)
ioctl(fd, 0, GPIO_TO_PIN(2, 1));//设置gpio2-1 为输入(p8-18)
while (1)
{
num = 1;
ret = write(fd,"1",GPIO_TO_PIN(1,22)); //置高
if(ret < 0)
{
perror("write");
return -1;
}
sleep(1);
ret = write(fd,"0",GPIO_TO_PIN(1,22));//置低
if(ret < 0)
{
perror("write");
return -1;
     }
    ret = read(fd, &val, GPIO_TO_PIN(2,1)); //读取电平
if(ret == 1) //高电平
printf("val==1\n");
if(ret == 0) // 低电平
printf("val == 0 \n");
  }
下一楼›:lankii:qt 有自带KIO口控制库吗??我关心的控制功能,昨天问工厂,只提供linux shell实现,想着 ..
‹上一楼:spygg:为什么不用Qt自带的呢? 这段代码一看就有问题:比如下载的文件是4G, 估计程序会因为内存爆 ..

查看全部回帖(5)
«返回主帖