lcddrv1_user.c

来自「lcddrv1.c 为驱动源程序 lcddrv1_user.c为应用程序代码 」· C语言 代码 · 共 84 行

C
84
字号
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <signal.h>
#include <sys/ioctl.h>

#define LCD_WRITE_COM 0x4800
int main(void)
{ 
  int fd,count,i=0;
 // unsigned int lcdcom,lcddata;
  unsigned int lcd_addr_data;
 // int rgcon;
  int *spinfo=(int *)malloc(4);

  if((fd=open("/dev/lcddrv",O_RDWR))==-1)
     {
         perror("open error");
         exit(1);
  
     }
 for(;;)
    {
       i++;
    /*  if(ioctl(fd,LCD_WRITE_COM,*spinfo)!=0)
        { perror("ioctl error");
           exit(1);
        }*/
      // lcdcom=0x0080;
    /* if((count=write(fd,(char *)&lcdcom,4))!=4)
        {
        perror("write error");
        exit(1);
        }*/
    lcd_addr_data=0x0094bdda;//0xbdda;//0xb7d0;  节  0094是地址,bdda是显示的字的代码
     if((count=write(fd,(char *)&lcd_addr_data,4))!=4)
        {
        perror("write error");
        exit(1);
        }
     sleep(1);
   
    lcd_addr_data=0x0087dfc8;//0xbdda;//0xb7d0;xia 呷
     if((count=write(fd,(char *)&lcd_addr_data,4))!=4)
        {
        perror("write error");
        exit(1);
        }
     sleep(1);
     
    lcd_addr_data=0x009ab4f0;//0xbdda;//0xb7d0;da 答
     if((count=write(fd,(char *)&lcd_addr_data,4))!=4)
        {
        perror("write error");
        exit(1);
        }
    sleep(1);

     
      if(ioctl(fd,LCD_WRITE_COM,*spinfo)!=0)
        { perror("ioctl error");
           exit(1);
        }

       
    lcd_addr_data=0x0001;//0xbdda;//0xb7d0;da 清屏
     if((count=write(fd,(char *)&lcd_addr_data,4))!=4)
        {
        perror("write error");
        exit(1);
        }
      
     printf("test ok  %d times!\n",i);
     sleep(1);
   }
  close(fd);
  return 0;
}

⌨️ 快捷键说明

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