ARM lcd 显示 问题

/*
my word
*/
#define X )*2+1
#define _ )*2
#define s ((((((((((((((((((((((((((((((((0
unsigned int my_word_1[]=
{
    s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ _ _ X _ X _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ X X X X X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ X X X X X X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ X X X X X _ X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ X X X X X X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ X X X X X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ _ _ X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ X X X X X X _ X _ X _ X _ X _ X _ X X _ X _ X X _ X X X _ _ , 
	s X X X X X X X X X X X X X X X X X _ X _ X X X X X X X X X X X _ , 
	s _ X X X X X X X X _ X X X _ _ _ X _ _ _ X X X X X X X X X _ _ _ , 
	s _ _ X X X X X X X _ _ X X _ _ X X X X X _ X _ X X X _ _ _ _ _ _ , 
	s _ _ _ _ X X X X X X X X X X X X X X X X X _ X X X _ _ _ _ _ _ _ , 
	s _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ X X X _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ X X X _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ X X X _ X X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ _ X X X X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ _ X X X X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ _ X X X _ X X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ _ X X X _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ _ X X X _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ , 
	s _ _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ _ , 
 	s _ _ _ _ X X X _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ X X X _ _ _ _ _ _ _ , 	
};

用下面这个会造成输出的字母左右颠倒,应该是小端存储的原因,但是改成下面第二个的时候,屏幕中间一条由零零碎碎的点构成的线,
void print_3232(char * word,int pixel_x,int pixel_y)
{
 char bit_long = 8;
 char num_in_line = 4;
 char line = 32;
 char i=0,j=0,k=0;
 char value=0;
  
 for(k=0;k

void my_print_3232(char * word,int pixel_x,int pixel_y)
{
 char bit_long = 8;
 char num_in_line = 4;
 char line = 32;
 char i=0,j=0,k=0;
 char value=0; 
  
 for(k=0;k=0;j--)
         {
             value = (word+k*num_in_line)[j];
        for(i=0; i
/*由于字模型是32*32, unsigned int 这里参数改成unsigned int 就对了,下面也有要改的地方*/
void my_print_3232(unsigned int * word,int pixel_x,int pixel_y)/*子模的首地址,显示屏的x y 坐标*/
{
 char bit_long = 32;
 char num_in_line = 4;
 char line = 32;
 char i=0,j=0,k=0;
 unsigned int value=0;
 char temp=0;
  
 for(k=0;k


 
  
 
  
 
 

你可能感兴趣的:(arm,c语言)