OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5602|回复: 2

PCTOLCD2002设置了逐行式取模,但是输出乱码

[复制链接]

15

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2018-7-27
在线时间
88 小时
发表于 2021-6-26 14:43:36 | 显示全部楼层 |阅读模式
10金钱

  1. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x0A,0x00,0x0B,0x00,0x09,0x00,0x09,0x00,0x11,0x00,0x11,0x80,0x10,0x80,0x1F,0x80,0x20,0xC0,0x20,0xC0,0x20,0x40,0x40,0x40,0x40,0x60,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00},/*"A",0*/
  2. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x31,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x31,0x80,0x3F,0x00,0x30,0xC0,0x30,0x40,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0xC0,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00},/*"B",1*/
  3. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x18,0xC0,0x30,0x60,0x30,0x20,0x20,0x20,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x20,0x30,0x20,0x30,0x40,0x18,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"C",2*/
  4. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x31,0x80,0x30,0xC0,0x30,0xC0,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0xC0,0x30,0xC0,0x31,0x80,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"D",3*/

  5. 字符码
复制代码



  1. int main(void)
  2. {
  3.         u8 x=0;
  4.         u8 lcd_id[12];                                //′æ·ÅLCD ID×Ö·û′®
  5.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//éèÖÃÏμí3ÖD¶ÏóÅÏè¼¶·Ö×é2
  6.         delay_init(168);      //3õê¼»ˉÑóê±oˉêy
  7.         uart_init(115200);                //3õê¼»ˉ′®¿ú2¨ìØÂêÎa115200
  8.        
  9.         LED_Init();                                          //3õê¼»ˉLED
  10.         LCD_Init();           //3õê¼»ˉLCD FSMC½ó¿ú
  11.         POINT_COLOR=RED;      //»-±êÑÕé«£ooìé«


  12. LCD_Clear(WHITE);
  13. LCD_ShowString(30,40,210,200,24,"ABCD");               
  14.           while(1)
  15.         {                 
  16.                
  17.                
  18.         }
  19. }
复制代码



void LCD_ShowString(u16 x,u16 y,u16 width,u16 height,u8 size,u8 *p)
{         
        u8 x0=x;
        width+=x;
        height+=y;
    while((*p<='~')&&(*p>=' '))//&#197;D&#182;&#207;ê&#199;2&#187;ê&#199;·&#199;·¨×&#214;·&#251;!
    {      
        if(x>=width){x=x0;y+=size;}
        if(y>=height)break;//í&#203;3&#246;
        LCD_ShowChar(x,y,*p,size,0);
                                delay_ms(50);
        x+=size;
        p++;
    }  
}



void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)
{                                                            
  u8 temp,t1,t;
        u16 y0=y;
        u16 x0=x;
//        u8 csize=(size/8+((size%8)?1:0))*(size/2);                //μ&#195;μ&#189;×&#214;ì&#229;ò&#187;&#184;&#246;×&#214;·&#251;&#182;&#212;ó|μ&#227;&#213;ó&#188;ˉ&#203;ù&#213;&#188;μ&#196;×&#214;&#189;úêy       
        u8 csize=48;
        num=num-' ';//μ&#195;μ&#189;&#198;&#171;ò&#198;oóμ&#196;&#214;죨ASCII×&#214;&#191;aê&#199;′ó&#191;&#213;&#184;&#241;&#191;aê&#188;è&#161;&#196;££&#172;&#203;ùò&#212;-' '&#190;íê&#199;&#182;&#212;ó|×&#214;·&#251;μ&#196;×&#214;&#191;a£&#169;
        for(t=0;t<csize;t++)
        {   
                if(size==12)temp=asc2_1206[num][t];                  //μ÷ó&#195;1206×&#214;ì&#229;
                else if(size==16)temp=asc2_1608[num][t];        //μ÷ó&#195;1608×&#214;ì&#229;
//                else if(size==24)temp=asc2_2412[num][t];        //μ÷ó&#195;2412×&#214;ì&#229;
                else if(size==24)temp=asc2_MY[num][t];       
                else return;                                                                //&#195;&#187;óDμ&#196;×&#214;&#191;a
       
                for(t1=0;t1<8;t1++)
                {                            
                        if(temp&0x80)
                        LCD_DrawPoint(x,y);       
                        temp<<=1;
                        x++;
                        if(x>=lcddev.width)return;                //3&#172;&#199;&#248;óòá&#203;
                        if((x-x0)==size/2)
                        {
                                x=x0;
                                y++;
                                if(y>=lcddev.height)return;        //3&#172;&#199;&#248;óòá&#203;
                                break;
                        }
                }           
        }                     
}  




这是原子的代码,自己做了一点改动,是哪里有问题吗?输出的一直是乱码
~$Q8S64NJ%8803X6R9DYKAD.png
Y39}VQCP]I6PFB)~V60@3RP.png

最佳答案

查看完整内容[请看2#楼]

解决了。自己生成的字模数组不知道哪写的不规范,复制历程上的过来改就可以了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2018-7-27
在线时间
88 小时
 楼主| 发表于 2021-6-26 14:43:37 | 显示全部楼层
解决了。自己生成的字模数组不知道哪写的不规范,复制历程上的过来改就可以了
回复

使用道具 举报

15

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2018-7-27
在线时间
88 小时
 楼主| 发表于 2021-6-26 14:47:26 | 显示全部楼层
const unsigned char asc2_MY[4][48]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x0A,0x00,0x0B,0x00,0x09,0x00,0x09,0x00,0x11,0x00,0x11,0x80,0x10,0x80,0x1F,0x80,0x20,0xC0,0x20,0xC0,0x20,0x40,0x40,0x40,0x40,0x60,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00},/*"A",0*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x31,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x31,0x80,0x3F,0x00,0x30,0xC0,0x30,0x40,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0xC0,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00},/*"B",1*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x18,0xC0,0x30,0x60,0x30,0x20,0x20,0x20,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x20,0x30,0x20,0x30,0x40,0x18,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"C",2*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x31,0x80,0x30,0xC0,0x30,0xC0,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0xC0,0x30,0xC0,0x31,0x80,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"D",3*/

};
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-23 05:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表