Plantilla de dibujo C237: cómo dibujar en lenguaje C
El programa fuente del microcontrolador es el siguiente:
#includes
#includes
#defineuintunsignedint
#defineucharunsignedchar
sbitrs=p2^0; //1602 línea de control de selección de datos/instrucción
sbitrw=p2^1; /1602 leer escribir línea de control
sbiten=p2^2; habilitar //1602 línea de control
sbittrig=p2^5; //disparador del módulo de alcance ultrasónico
sbitecho=p3^2; //Echo del módulo de alcance ultrasónico
bit flag 1; //Bit de indicador de señal de activación //
ucharcount//Variable de acumulación de interrupción
p >Larga distancia; // Medición de distancia
unsignedcharcodetable[]= { " 0123456789 " }; // Definir matriz de caracteres para mostrar números.
¿Cómo dibujar un frame buffer en lenguaje C?
El número mínimo de fotogramas es 24 (visibles a simple vista) (por debajo de 24, la imagen no será uniforme).
La relación entre la tarjeta gráfica y el marco: la CPU ajusta su velocidad de transferencia de datos y genera la proporción de sus tres colores primarios.
Tres colores primarios: RGB (rojo, verde y azul).
¡En una interfaz de sistema sin escritorio ni archivos gráficos, la programación en lenguaje C puede dibujar sobre un fondo negro!
Utiliza el siguiente código, modifícalo cuando sea necesario (con comentarios) ¡y podrás dibujar los gráficos que quieras!
PD: También es necesario compilarlo y ejecutarlo para producir efectos.
# incluir & ltstdio.h & gt
# incluir & ltsys/mman h & gt;
# incluir & ltfcntl.h & gt
# incluir & ltLinux/FB . h & gt;
# incluir & ltstdlib.h & gt
#defineRGB888(r,g,b)((r &0x ff)<<16 |(g&0xff)<<8 |(b&0xff))
#defineRGB565(r,g,b) ((r & 0x 1f)& lt11 | (g & 0x3f)& lt5 |(b & 0x1f))
intmain()
{
intfd=open("/dev/fb0 ", O_RDWR);
if(FD<0){
perror("openerr.
\ n ");
Salir (SALIDA _ FAILURE);
printf("xres:%d\n ",);
printf("yres :%d\n ",);
printf("bits_per_pixel:%d\n ", _ por _ píxel);
tamaño _ tlen = * * _ por _ píxel & gt& gt3;
unsignedlong * addr = NULL
addr=mmap(NULL, len, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);
if (addr==(void*)-1){
perror("mmaperr.\n ");
Cómo dibujar un "corazón" en lenguaje C se puede hacer a través de Las declaraciones de bucle y las plantillas de gráficos predefinidas implementan gráficos personalizados.
Para métodos de implementación específicos, consulte los siguientes procedimientos:
#Includes
#defineWIDTH9// ancho. es el número de columnas
#defineHEIGHT7//La altura es el número de filas
#defineCHAR"* "
IntModal[HEIGHT][WIDTH] =//La plantilla que define la forma
{
{0,1,1,1,0,1,1,1,0},
{1,0,0,0 ,1,0,0,0,1},
{1,0,0,0,0,0,0,0,1},
{0,1 ,0,0,0,0,0,1,0},
{0,0,1,0,0,0,1,0, 0},
{0,0,0,1,0,1,0,0,0},
{0,0,0,0,1,0, 0,0,0}
};
voidmain()
{
inti,j;
para(I = 0; i
p>
{
para(j = 0;j
{
If(Modal[i][j])//Salida según plantilla * o espacio
printf(CHAR);
Otros
printf(" ");
}
printf(" ");
}
}
Nota: Cambiar la longitud y el ancho de la plantilla, los caracteres de visualización y el contenido de la plantilla para mostrar diferentes gráficos.