⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.c

📁 frv400开发板上的8253计数器的编程
💻 C
字号:
#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/ioctl.h>#include<sys/types.h>#include<linux/kd.h>#include<fcntl.h>#include<unistd.h>#include<time.h>#define	TIMER_IOC_LL		0xdc#define	TIMER_OPEN		_IOW(TIMER_IOC_LL,0,int)#define	TIMER			_IOW(TIMER_IOC_LL,1,int)#define	TIMER_CLOSE		_IOW(TIMER_IOC_LL,2,int)main() {	int data=0,data1,fd;	char a,b;	int music[21]={131,147,165,175,196,220,247,262,294,330,349,392,440,494,523,587,659,698,784,880,987};		fd=open("./lltimer",O_RDONLY);	if(fd<0)	{		printf("Device open failed!\n");	}	else	{		printf("Device opened,fd=%d\n",fd);		ioctl(fd,TIMER_OPEN,0);		while(a!='p')					{			a=getchar();			switch(a)			{			case 'q':data=music[0];break;			case 'w':data=music[1];break;			case 'e':data=music[2];break;			case 'r':data=music[3];break;			case 't':data=music[4];break;			case 'y':data=music[5];break;			case 'u':data=music[6];break;			case 'a':data=music[7];break;			case 's':data=music[8];break;			case 'd':data=music[9];break;			case 'f':data=music[10];break;			case 'g':data=music[11];break;			case 'h':data=music[12];break;			case 'j':data=music[13];break;			case 'z':data=music[14];break;			case 'x':data=music[15];break;			case 'c':data=music[16];break;			case 'v':data=music[17];break;			case 'b':data=music[18];break;			case 'n':data=music[19];break;			case 'm':data=music[20];break;			default:break;			}			data1=(1000*1190/data);		                        ioctl(fd,TIMER,data1);			usleep(100000);			ioctl(fd,TIMER_CLOSE,0); 			ioctl(fd,TIMER_OPEN,0);		}	}	ioctl(fd,TIMER_CLOSE,0); 	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -