hechuan519 发表于 2013-4-21 21:19:38

求助,stm32 如何驱动8位的320X240的TFT彩屏

以前51学单片机时用的8位数据位的TFT彩屏,现在拿来用stm32控制,看了看别人的程序,都是16位数据,但我的彩屏是8位数据的,不知如何转化

cc1989summer 发表于 2013-4-28 23:34:54

74HC573....8位扩展16位

limxuzheng 发表于 2013-4-30 13:43:09

没什么的,上八位数出滤掉, 就可以了

loveye21 发表于 2013-4-30 17:30:19

    GPIOB->BSRR = DH<<8 & 0xff00;   
        GPIOB->BRR = ((~DH)<<8) & 0xff00;
    LCD_WR(0);//GPIO_ResetBits(GPIOB,LCD_WR);
    LCD_WR(1);//GPIO_SetBits(GPIOB,LCD_WR);
        GPIOB->BSRR = DL<<8 & 0xff00;   
        GPIOB->BRR = ((~DL)<<8) & 0xff00;
    LCD_WR(0);//GPIO_ResetBits(GPIOB,LCD_WR);
    LCD_WR(1);//GPIO_SetBits(GPIOB,LCD_WR);

loveye21 发表于 2013-4-30 17:30:45

void Write_Cmd(uint8_t DH,uint8_t DL)   // color data
{   
    LCD_CS(0);//GPIO_ResetBits(GPIOA,LCD_CS);   
    LCD_RS(0);//GPIO_ResetBits(GPIOB,LCD_RS);
    GPIOB->BSRR = DH<<8 & 0xff00;   
        GPIOB->BRR = ((~DH)<<8) & 0xff00;
    LCD_WR(0);//GPIO_ResetBits(GPIOB,LCD_WR);
    LCD_WR(1);//GPIO_SetBits(GPIOB,LCD_WR);
        GPIOB->BSRR = DL<<8 & 0xff00;   
        GPIOB->BRR = ((~DL)<<8) & 0xff00;
    LCD_WR(0);//GPIO_ResetBits(GPIOB,LCD_WR);
    LCD_WR(1);//GPIO_SetBits(GPIOB,LCD_WR);
    LCD_CS(1);//GPIO_SetBits(GPIOA,LCD_CS);
}

1181479390@qq 发表于 2013-5-14 15:57:03

loveye21 发表于 2013-4-30 17:30 static/image/common/back.gif
void Write_Cmd(uint8_t DH,uint8_t DL)   // color data
{   
    LCD_CS(0);//GPIO_ResetBits(GPIOA,LCD_ ...

有没有完整的程序,我也是8位的,再51可以显示,搬到stm32就一直白屏!!谢谢先咯

loveye21 发表于 2013-5-14 17:30:41

1181479390@qq 发表于 2013-5-14 15:57 static/image/common/back.gif
有没有完整的程序,我也是8位的,再51可以显示,搬到stm32就一直白屏!!谢谢先咯 ...

刚学的时候弄的,一时没时间整理,驱动是没问题的,

1181479390@qq 发表于 2013-5-14 19:14:56

loveye21 发表于 2013-5-14 17:30 static/image/common/back.gif
刚学的时候弄的,一时没时间整理,驱动是没问题的,

谢谢啦!我试一下

1181479390@qq 发表于 2013-5-14 20:06:21

loveye21 发表于 2013-5-14 17:30 static/image/common/back.gif
刚学的时候弄的,一时没时间整理,驱动是没问题的,

还是不行啊,我测了我的管脚,高低电平正常可控,tft在51驱动下正常!!求指点

1181479390@qq 发表于 2013-5-14 20:08:04

loveye21 发表于 2013-5-14 17:30 static/image/common/back.gif
刚学的时候弄的,一时没时间整理,驱动是没问题的,

        GPIOA->BSRR = value & 0xff;
    GPIOA->BRR = (~value) & 0xff;

顺便说一下,我改了端口,选择低8位

loveye21 发表于 2013-5-14 21:33:20

1181479390@qq 发表于 2013-5-14 20:08 static/image/common/back.gif
GPIOA->BSRR = value & 0xff;
    GPIOA->BRR = (~value) & 0xff;



如果是画屏可能就是初始化有问题,还有一个问题就是TFT最好用3.3V

1181479390@qq 发表于 2013-5-15 16:27:37

loveye21 发表于 2013-5-14 21:33 static/image/common/back.gif
如果是画屏可能就是初始化有问题,还有一个问题就是TFT最好用3.3V

现在还是有问题,tft不供电,(有接地),stm32复位后,tft可以看到花屏,但是如果一开始tft供电,则一直白屏。tft是5v供电的,板上边有转3、3v的

loveye21 发表于 2013-5-15 16:34:11

1181479390@qq 发表于 2013-5-15 16:27 static/image/common/back.gif
现在还是有问题,tft不供电,(有接地),stm32复位后,tft可以看到花屏,但是如果一开始tft供电,则一直 ...

之前我也遇到过类似的问题,只有不断地让STM32复位,才有可能让TFT初始化一次!,后来发现原因就是我跟你讲的,接口电压不匹配的问题。
因为TFT是3.3V工作,和51接口的话,除了TFT的IC需要3.3V之外,io还串联了电阻。

你可以考虑换一块TFT,如果想玩UCGUI,换一块是绝对有必要的

1181479390@qq 发表于 2013-5-15 17:05:08

loveye21 发表于 2013-5-15 16:34 static/image/common/back.gif
之前我也遇到过类似的问题,只有不断地让STM32复位,才有可能让TFT初始化一次!,后来发现原因就是我跟你 ...

液晶屏上边有个5转3.3的,我直接在3.3跳线到stm32的电源,效果还是一样{:cry:} 。现在有个现象,我复位时,手接触在tft上面(没有碰到线),就花屏,手不碰,就白屏。以为电脑usb供电有问题,换了其他电源,也是一个样

loveye21 发表于 2013-5-15 17:11:40

1181479390@qq 发表于 2013-5-15 17:05 static/image/common/back.gif
液晶屏上边有个5转3.3的,我直接在3.3跳线到stm32的电源,效果还是一样 。现在有个现象,我复位时 ...

把你TFT模块发张照片看看

1181479390@qq 发表于 2013-5-15 17:19:25

loveye21 发表于 2013-5-15 17:11 static/image/common/back.gif
把你TFT模块发张照片看看

好像很多都用这个的

loveye21 发表于 2013-5-15 17:21:41

1181479390@qq 发表于 2013-5-15 17:19 static/image/common/back.gif
好像很多都用这个的

{:titter:} 好吧,和我买别人二手的一样!

我可以肯定的告诉你就是电源问题,还有复位时间和初始化要注意

等一下找代码给你

1181479390@qq 发表于 2013-5-15 17:26:01

loveye21 发表于 2013-5-15 17:21 static/image/common/back.gif
好吧,和我买别人二手的一样!

我可以肯定的告诉你就是电源问题,还有复位时间和初始化要注 ...

你后来怎么改的

loveye21 发表于 2013-5-15 17:26:58

1181479390@qq 发表于 2013-5-15 17:19 static/image/common/back.gif
好像很多都用这个的

都在这里了,刚学的时候弄的

1181479390@qq 发表于 2013-5-15 17:28:11

loveye21 发表于 2013-5-15 17:26 static/image/common/back.gif
都在这里了,刚学的时候弄的

加qq把1181479390.你硬件怎么改的

loveye21 发表于 2013-5-15 17:38:46

1181479390@qq 发表于 2013-5-15 17:28 static/image/common/back.gif
加qq把1181479390.你硬件怎么改的

刚才我又找了一份程序测试了一下,至少我的没问题

1181479390@qq 发表于 2013-5-15 17:41:37

loveye21 发表于 2013-5-15 17:38 static/image/common/back.gif
刚才我又找了一份程序测试了一下,至少我的没问题

直接供3。3到排针,不能吧,11173-3要求4点多v以上吧,我试了,黑屏哦

loveye21 发表于 2013-5-15 17:48:21

1181479390@qq 发表于 2013-5-15 17:41 static/image/common/back.gif
直接供3。3到排针,不能吧,11173-3要求4点多v以上吧,我试了,黑屏哦

看图片////

至于为什么,至于1117为什么还能工作,我也说不了咯

1181479390@qq 发表于 2013-5-15 18:56:58

loveye21 发表于 2013-5-15 17:38 static/image/common/back.gif
刚才我又找了一份程序测试了一下,至少我的没问题

不是我想要的结果,花屏啊啊

loveye21 发表于 2013-5-15 19:06:12

1181479390@qq 发表于 2013-5-15 18:56 static/image/common/back.gif
不是我想要的结果,花屏啊啊

我刚才测试用的代码,STM32F103C8

Q :307959956

1181479390@qq 发表于 2013-5-15 19:11:53

loveye21 发表于 2013-5-15 19:06 static/image/common/back.gif
我刚才测试用的代码,STM32F103C8

Q :307959956

哈哈,你的名字不叫loveye21 ,我加不了,你加我吧!不过这个问题好像很少人遇到哦,网上资料比较少。不是虚焊问题,9成9是电源问题

hechuan519 发表于 2014-4-10 16:20:01

mark一下
页: [1]
查看完整版本: 求助,stm32 如何驱动8位的320X240的TFT彩屏