#include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h>
#define dot_path "/dev/dot"
int main() { int dot,i,j,flag=0,num=0,flag2=0; unsigned char c[10][8] = {{0x3c,0x42,0x42,0x42,0x42,0x42,0x3c,0x00}, {0x18,0x28,0x08,0x08,0x08,0x08,0x3c,0x00}, {0x18,0x24,0x24,0x04,0x08,0x10,0x3c,0x00}, {0x18,0x24,0x04,0x18,0x04,0x24,0x18,0x00}, {0x08,0x18,0x28,0x48,0xfc,0x08,0x08,0x00}, {0x3c,0x20,0x20,0x18,0x04,0x24,0x18,0x00}, {0x18,0x24,0x20,0x38,0x24,0x24,0x18,0x00}, {0x3c,0x04,0x04,0x08,0x10,0x10,0x10,0x00}, {0x18,0x24,0x24,0x18,0x24,0x24,0x18,0x00}, {0x18,0x24,0x24,0x1c,0x04,0x04,0x18,0x00}, }; unsigned char c2[10][8] = {{0x30,0x48,0x84,0x82,0x42,0x24,0x18,0x00}, {0x00,0x40,0x60,0x50,0x0a,0x04,0x08,0x00}, {0x00,0x70,0x48,0x48,0x0a,0x0c,0x08,0x00}, {0x00,0x30,0x48,0x4c,0x12,0x02,0x0c,0x00}, {0x40,0x62,0x54,0x48,0x54,0x62,0x40,0x00}, {0x20,0x40,0x8c,0x52,0x22,0x04,0x08,0x00}, {0x20,0x40,0x88,0x54,0x22,0x14,0x08,0x00}, {0x20,0x50,0x90,0x10,0x08,0x04,0x02,0x00}, {0x60,0x90,0x90,0x7c,0x12,0x12,0x0c,0x00}, {0x20,0x50,0x88,0x54,0x22,0x04,0x08,0x00}, }; unsigned char p[8]; unsigned char a[8]; unsigned char a2[8]; unsigned char t[8]; unsigned char b=0x01; unsigned char cnt=0x80;
if((dot = open(dot_path, O_RDWR)) < 0) { printf("Can't Open\n"); exit(0); }
while(num<10) { memset(a,0,sizeof(a)); memset(a2,0,sizeof(a2)); memcpy(a,c[num],sizeof(a)); memcpy(a2,c2[num],sizeof(a2));
write(dot,a,sizeof(a)); usleep(200000);
write(dot,a2,sizeof(a2)); usleep(200000);
while(flag<7) { if(flag2==0) { memcpy(p,a,sizeof(a)); printf("1\n"); } else { memcpy(p,a2,sizeof(a2)); printf("2\n"); }
memset(t,0,sizeof(t));
for(i=0;i<8;i++) { for(j=0;j<8;j++) { if((p[i]&(b<<j))==(b<<j)) { t[j]|=cnt; } } cnt=cnt>>1; } memcpy(p,t,sizeof(p)); write(dot,p,sizeof(p)); usleep(200000); cnt=0x80; flag++; if(flag2==0) memcpy(a,p,sizeof(a)); else memcpy(a2,p,sizeof(a2));
flag2=!flag2; //printf("%d\n",flag); } flag=0; flag2=0; num++; } close(dot); return 0; } |