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

📄 io_lib.c

📁 CGI程序实例
💻 C
字号:
#include "io_lib.h"// read from device file and return value of byteunsigned long int read_dev(files file){	char string[STRING_LEN]={0};	FILE *f=NULL;	int i=0;	// open requested file for reading	switch(file)	{		case switches:			f=fopen(SWITCHES,"r");		break;		case buttons:			f=fopen(BUTTONS,"r");		break;			}	// read line	while((i<10) && (string[i++]=fgetc(f)));	fclose(f);	// return value	return atol(string);}// write byte(s) to device filevoid write_dev(files file, char *val){	FILE *f=NULL;	// open requested file for writing	switch(file)	{		case leds_red:			f=fopen(LEDS_RED,"r+");		break;		case leds_green:			f=fopen(LEDS_GREEN,"r+");		break;		case seg7:			f=fopen(SEG7,"r+");		break;	}	fprintf(f,val);	fclose(f);}int write_lcd(char *msg)
{
	int i, file_desc, ret_val;
	char msg32[33];
		file_desc = open(DEVICE_FILE_NAME, 0);
	if (file_desc < 0) {
		printf("Can't open device file: %s\n", DEVICE_FILE_NAME);
		return -1;
	}

	if (strlen(msg) >=0 && strlen(msg) < 32) {
		strcpy(msg32, msg);			// copy the short string		
		for(i = strlen(msg); i<32 ;i++)		// fill the rest with space symbols
			msg32[i] = (char)0x20;
	
   	} else
		strncpy(msg32, msg, 32);		// if string is equal or greater copy just 32 characters
    	
	msg32[32] = '\0';				// terminate string
		// calls IOCTL_SET_MSG command of lcd device driver	if(ioctl(file_desc, IOCTL_SET_MSG, msg32) < 0)		return -2;
	close(file_desc);
	return 0;
}

⌨️ 快捷键说明

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