stm32控制tft液晶屏问题

2019-07-14 18:13发布

本人小白一枚...春节前购入奋斗的STM32开发板一枚...还有一块4.3寸的TFT屏幕...兴奋之余做点小东西玩.....
芯片是stm32f103ve系列的...

以下是问题描述

我想在tft液晶上显示多行字...

于是写了一个小的demo
int main(void)
{
  unsigned short a;
  RCC_Configuration();                 //系统时钟初始化及端口外设时钟使能
  GPIO_Configuration();                           //状态LED1的初始化
  tp_Config();                                           //SPI1 触摸电路初始化            
  FSMC_LCD_Init();                                   //FSMC TFT接口初始化
  LCD_Init();                                           //LCD初始化代码
  TFT_CLEAR(0,0,480,272);          //清屏        
  if (SysTick_Config(720))                   //时钟节拍中断时10us一次  用于定时
  {
    /* Capture error */
    while (1);
  }  



for(i=0;i13:30这个字符串显示19行的时候,就发生了这种情况





<span style="font-family: 微软雅黑; font-size: 14px; text-align: -webkit-auto; ">但是我把iBIGMAX_CHAR_POSX){x=0;y+=24;}//每个高24

        if(y>BIGMAX_CHAR_POSY){y=x=0;TFT_CLEAR(0,0,480,272);}
        TFT_ShowBigChar(262-x,y,*p,color);
        x+=14; //每个宽14
        p++;
    }  
}

void TFT_ShowBigChar(u16 x,u16 y,u8 num,u16 color)
{      
        #define BIGMAX_CHAR_POSX 466
        #define BIGMAX_CHAR_POSY 266
    u8 temp;
    u8 pos,t,hang,pos3,flag;      
    if(x>BIGMAX_CHAR_POSX||y>BIGMAX_CHAR_POSY)return;
    //设定一个字符所占的窗口大小
        flag=0;
        
        hang=0;
        pos3=0;
        num=num-' ';                                                //得到偏移后的值
        for(pos=0;pos>8);                                    //起始地址Y
        LCD_WR_Data(y);                                       
        LCD_WR_Data(y>>8);                                    //结束地址Y
        LCD_WR_Data(y);                                    
        LCD_WR_REG(0x2c);
        LCD_WR_Data(color);                    
}



是不是内存不足?该怎么解决呢?用什么方法?


我百度了下是不是用dma模块来解决呢?做个乒乓双缓冲什么的?不过显示屏的双缓冲怎么做啊?我是小白....恳求赐教....




ps:怎么在论坛发帖插入代码啊.....这样没有高亮的看起来不方便呢...

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
60user121
1楼-- · 2019-07-15 01:48
 精彩回答 2  元偷偷看……
TOPCB
2楼-- · 2019-07-15 05:00
如果发生的是乱码,可能是因为你操作的Y的坐标超出了屏的实际坐标。
qiangqzuo
3楼-- · 2019-07-15 06:12
回复第 2 楼 于2013-02-17 20:10:29发表:
图片没显示出来。
 
 
 
这回行了么?
 
qiangqzuo
4楼-- · 2019-07-15 07:29
回复第 4 楼 于2013-02-18 08:52:11发表:
如果发生的是乱码,可能是因为你操作的Y的坐标超出了屏的实际坐标。
 
 
 
不是乱码...是只显示第一行...然后就不显示下面的东西了...
 

一周热门 更多>