求助,SPI屏驱动有问题。

2019-10-11 14:16发布

IMG_20170319_160921.jpg
非常奇怪,同一个程序,2星期前能正常驱动,程序没改动过,但是现在死活点不亮。各位大神帮忙看下,谢谢。

另外分享一下DMA+SPI点亮这个屏的一段程序
void LCD_clear(u16 color)
{
        SPI2_bit(8);
        LCD_set_xy(0,0,319,239);
        SPI2_bit(16);
        LCD_CS=0;  //LCD_CS=0
        LCD_RS=1;       

////////////////////////////DMA刷屏方式//////////////////////
        SPI2->CR2|=1<<1;//使能发送DMA
        LCD_DMA_start((u32)&color,0xFFFF);
        while(!(DMA1->ISR&(1<<17)));//等待传输完成,DMA每次只能传65535个数据
        DMA1->IFCR|=1<<17;//清除传输完成标志位
        LCD_DMA_start((u32)&color,11267);
        while(!(DMA1->ISR&(1<<17)));//等待传输完成,DMA每次只能传65535个数据
        DMA1->IFCR|=1<<17;//清除传输完成标志位       
        while(SPI2->SR&(1<<7));//等待传输完成
        SPI2->SR;//消除错误
        SPI2->DR;//消除错误,这个很重要,不然不能重新设置。
        SPI2->CR2&=~(1<<1);//失能发送DMA
       
        LCD_CS=1;
        SPI2_bit(8);
}

DMA+SPI发送完成后一定要消除错误,不然再次用DMA发送数据会出错。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
q872529868
1楼-- · 2019-10-11 19:07
自己顶下
q872529868
2楼-- · 2019-10-11 21:54
再顶下
shikihane
3楼-- · 2019-10-12 00:02
 精彩回答 2  元偷偷看……
q872529868
4楼-- · 2019-10-12 03:43
shikihane 发表于 2017-3-20 13:08
你的意思是已经解决了么

还没有,我估计是杜邦线的问题,刚刚买了些线,明天试下。
JACK123
5楼-- · 2019-10-12 09:33
估计是硬件连接,或者屏坏了

一周热门 更多>