一. 简介
上一篇文章学习了,Linux内核定时器实现 ioctr对 Led灯的控制。文章地址如下:
Linux内核定时器ioctl实现对Led灯的控制-CSDN博客
实验效果:通过 应用程序调用驱动,从而实现对 Led灯的控制。具体实现 ioctrl函数的驱动代码,从而控制 Led灯。
本文编写应用程序,并进行测试。
二. 应用程序编写
1. 编写应用程序
在 12_ioctrl_timer 目录下创建测试程序 timer_app.c。timer_app.c文件代码实现如下:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#define CLOSE_TIMER_CMD _IO(0XEF, 1) //打开定时器命令
#define OPEN_TIMER_CMD _IO(0XEF, 2) //关闭定时器命令
#define SET_PERIOD_CMD _IOW(0XEF, 3, int)//设置定时器的周期值
#define INVALID_VALUE 0x00 //按键未按下值
#define VALID_VALUE 0x01 //按键按下值
/*
*测试按键是否按下
* 运行命令: ./timer_app /dev/timer
*/
int main(int argc, char* argv[])
{
int fd = 0;
int cmd = 0,ret =