本人小白一枚...春节前购入奋斗的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:怎么在论坛发帖插入代码啊.....这样没有高亮的看起来不方便呢... |
RE:新人求助..stm32 控制tft液晶屏问题
RE:新人求助..stm32 控制tft液晶屏问题
RE:新人求助..stm32 控制tft液晶屏问题
回复:新人求助..stm32 控制tft液晶屏问题
图片没显示出来。
这回行了么?
回复:新人求助..stm32 控制tft液晶屏问题
如果发生的是乱码,可能是因为你操作的Y的坐标超出了屏的实际坐标。
不是乱码...是只显示第一行...然后就不显示下面的东西了...