OpenEdv-开源电子网

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

ILI9341驱动的2.4寸屏显示图片和DS1302时钟问题

[复制链接]

20

主题

450

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4889
金钱
4889
注册时间
2017-7-6
在线时间
719 小时
发表于 2019-5-6 12:13:47 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 程功之道 于 2019-5-6 12:15 编辑

屏能正常显示图片和字符串,现在显示了2张图片和一个DS1302时钟,时钟不走时;把2张图片屏蔽掉,就正常走时。仿真找了问题,没找到,程序正常运行。
第一次做彩屏,望大佬赐教。
主函数:
int main(void)
{

u8 r;u8 t = 0;

delay_init();                              
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
RS485_Init(9600);        
TIM3_Int_Init(9,7199);
LCD_Init();
DS1302_Init();

while(1)
{
  if(b_TIM)  //1msɨÃè
  {
   b_TIM = 0;

   
   DS1302_Get_Time(ds1302_time); //得到ds1302时间
   LCD_Function();  //lcd图片和时钟显示程序
//   LCD_ShowNum(300,0,t,1,24);
//   t = t++;
  }
    }
}

显示图片和时钟的函数LCD_Function:
void LCD_Function(void)
{
u8 t = 0;
LCD_ShowString(50,70,300,16,24,ds1302_time);      //显示时间函数

LCD_ili9341_DrawPicture(0,165,106,75,gImage_alarm);  //显示图片
LCD_ili9341_DrawPicture(0,0,100,55,gImage_logo); //显示图片
}

就这么多而已,单独测试了,都没问题,同时显示字符串或者中文和时钟,时钟正常;同时显示图片和时钟,时钟不走时,不动

1.jpg
2.jpg

最佳答案

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

void LCD_Fast_DrawPoint(u16 x,u16 y,u16 color) { LCD_WR_REG(lcddev.setxcmd); LCD_WR_DATA(x>>8);LCD_WR_DATA(x&0XFF); LCD_WR_DATA((lcddev.height-1)>>8);LCD_WR_DATA((lcddev.height-1)&0XFF); LCD_WR_REG(lcddev.setycmd); LCD_WR_DATA(y>>8);LCD_WR_DATA(y&0XFF); LCD_WR_DATA((lcddev.width-1)>>8);LCD_WR_DATA((lcddev.width-1)&0XFF); LCD_WR_REG(lcddev.wramcmd);//дָ ...
我是小白,很白很白的小白!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

450

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4889
金钱
4889
注册时间
2017-7-6
在线时间
719 小时
 楼主| 发表于 2019-5-6 12:13:48 | 显示全部楼层
程功之道 发表于 2019-5-7 12:00
无奈啊  仿真了  程序也没跑飞  今天还加了填充颜色的函数  把填充颜色的函数加进来就正常  填充颜色的函 ...

void LCD_Fast_DrawPoint(u16 x,u16 y,u16 color)
{          
        LCD_WR_REG(lcddev.setxcmd);
        LCD_WR_DATA(x>>8);LCD_WR_DATA(x&0XFF);
        LCD_WR_DATA((lcddev.height-1)>>8);LCD_WR_DATA((lcddev.height-1)&0XFF);
        LCD_WR_REG(lcddev.setycmd);
        LCD_WR_DATA(y>>8);LCD_WR_DATA(y&0XFF);
        LCD_WR_DATA((lcddev.width-1)>>8);LCD_WR_DATA((lcddev.width-1)&0XFF);
        LCD_WR_REG(lcddev.wramcmd);//дָÁî  
        LCD_WR_DATA(color);                //дÊý¾Ý
}
找到问题了,为了方便字符串显示,我初始化了终点坐标,没在字符串显示函数里加终点坐标,当显示图片时,覆盖了前面初始化的函数的终点坐标,导致显示不了
我是小白,很白很白的小白!!!
回复

使用道具 举报

20

主题

450

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4889
金钱
4889
注册时间
2017-7-6
在线时间
719 小时
 楼主| 发表于 2019-5-6 16:06:29 | 显示全部楼层
顶一下
回复

使用道具 举报

2

主题

391

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1957
金钱
1957
注册时间
2014-8-8
在线时间
307 小时
发表于 2019-5-6 16:31:12 | 显示全部楼层
显示时间函数放在图片显示函数的后面试一下。
回复

使用道具 举报

2

主题

582

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2690
金钱
2690
注册时间
2014-5-23
在线时间
188 小时
发表于 2019-5-6 17:47:56 | 显示全部楼层
看这个看不出问题
回复

使用道具 举报

20

主题

450

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4889
金钱
4889
注册时间
2017-7-6
在线时间
719 小时
 楼主| 发表于 2019-5-7 11:58:46 | 显示全部楼层
365mcu 发表于 2019-5-6 16:31
显示时间函数放在图片显示函数的后面试一下。

放后面就不显示了
我是小白,很白很白的小白!!!
回复

使用道具 举报

20

主题

450

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4889
金钱
4889
注册时间
2017-7-6
在线时间
719 小时
 楼主| 发表于 2019-5-7 12:00:03 | 显示全部楼层
awsawzj 发表于 2019-5-6 17:47
看这个看不出问题

无奈啊  仿真了  程序也没跑飞  今天还加了填充颜色的函数  把填充颜色的函数加进来就正常  填充颜色的函数和图片显示函数   都差不多
我是小白,很白很白的小白!!!
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-4-1
在线时间
11 小时
发表于 2021-4-21 19:40:45 | 显示全部楼层
有完整代码吗楼主
回复

使用道具 举报

20

主题

450

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4889
金钱
4889
注册时间
2017-7-6
在线时间
719 小时
 楼主| 发表于 2021-4-22 09:22:40 | 显示全部楼层
ltkk 发表于 2021-4-21 19:40
有完整代码吗楼主

有的  都是大工程
我是小白,很白很白的小白!!!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 02:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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