硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4962|回复: 9
收起左侧

[有问必答] RA8875显示出现一些横线问题

[复制链接]

16

主题

45

回帖

93

积分

初级会员

积分
93
发表于 2017-2-16 15:16:39 | 显示全部楼层 |阅读模式
设计的F407+RA8875,407在一块板子,RA8875在一块板子。当这两块板子靠近的时候。屏幕上面会在显示的基础上面多出来一些横线。我是一行一行显示的。这些横线肯定是写入的数据错误了。

timingWrite.FSMC_AddressSetupTime = 4;
    timingWrite.FSMC_AddressHoldTime = 0;
    timingWrite.FSMC_DataSetupTime = 6;
    timingWrite.FSMC_BusTurnAroundDuration = 1;
    timingWrite.FSMC_CLKDivision = 0;
    timingWrite.FSMC_DataLatency = 0;
    timingWrite.FSMC_AccessMode = FSMC_AccessMode_A;

    timingRead.FSMC_AddressSetupTime = 4;
    timingRead.FSMC_AddressHoldTime = 0;
    timingRead.FSMC_DataSetupTime = 8;
    timingRead.FSMC_BusTurnAroundDuration = 1;
    timingRead.FSMC_CLKDivision = 0;
    timingRead.FSMC_DataLatency = 0;
    timingRead.FSMC_AccessMode = FSMC_AccessMode_A;

这样设置的作为FSMC控制LCD。速度是不是太快了还是?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2017-2-16 15:19:15 | 显示全部楼层
是不是使用RA8875自带的触摸功能了。
回复

使用道具 举报

16

主题

45

回帖

93

积分

初级会员

积分
93
 楼主| 发表于 2017-2-16 16:42:06 | 显示全部楼层

回 eric2013 的帖子

eric2013:是不是使用RA8875自带的触摸功能了。 (2017-02-16 15:19) 
是的。
回复

使用道具 举报

16

主题

45

回帖

93

积分

初级会员

积分
93
 楼主| 发表于 2017-2-16 16:45:08 | 显示全部楼层

回 eric2013 的帖子

eric2013:是不是使用RA8875自带的触摸功能了。 (2017-02-16 15:19) 
老大,使用了他的触摸会有问题?请指导下。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2017-2-16 16:46:20 | 显示全部楼层

回 zxdzwcs 的帖子

zxdzwcs:老大,使用了他的触摸会有问题?请指导下。 (2017-02-16 16:45) 
要注意互斥,如果你的触摸任务和emWin任务是分开的,就会出现这个问题。
回复

使用道具 举报

16

主题

45

回帖

93

积分

初级会员

积分
93
 楼主| 发表于 2017-2-16 16:52:18 | 显示全部楼层

回 eric2013 的帖子

eric2013:要注意互斥,如果你的触摸任务和emWin任务是分开的,就会出现这个问题。 (2017-02-16 16:46) 
我触摸是一个1ms的任务。显示是一个触摸触发启动的任务。这两个是不同的任务。那您的意思是,我在处理触摸的时候,要怎么样处理是否有例程可以参考下。多谢。
回复

使用道具 举报

16

主题

45

回帖

93

积分

初级会员

积分
93
 楼主| 发表于 2017-2-17 08:38:48 | 显示全部楼层

回 eric2013 的帖子

eric2013:要注意互斥,如果你的触摸任务和emWin任务是分开的,就会出现这个问题。 (2017-02-16 16:46) 
你好,我看了程序。这样算是互斥吧。
/* 如果主程序正在访问RA8875,则丢弃本次触摸采集,避免影响显示 */
    if (RA8875_IsBusy())
    {
        return;
    }

    usAdcX = RA8875_TouchReadX();
    usAdcY = RA8875_TouchReadY();
其实,我每次在检测触摸的时候,都会检查下ra8875是否在忙。而
/*
*********************************************************************************************************
*    函 数 名: RA8875_IsBusy
*    功能说明: RA8875是否忙
*    形    参: 无
*    返 回 值: 1 表示忙; 0 表示空闲
*********************************************************************************************************
*/
uint8_t RA8875_IsBusy(void)
{
    if (s_ucRA8875Busy == 0)
    {
        return 0;
    }
    return 1;
}
这样的机制是否会有问题。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2017-2-17 09:24:11 | 显示全部楼层
可以从我们的V5网盘任意下载一个emWIn例子,已经都做互斥了,是通过一个变量做的。
回复

使用道具 举报

16

主题

45

回帖

93

积分

初级会员

积分
93
 楼主| 发表于 2017-2-17 14:25:56 | 显示全部楼层

回 eric2013 的帖子

eric2013:可以从我们的V5网盘任意下载一个emWIn例子,已经都做互斥了,是通过一个变量做的。 (2017-02-17 09:24) 
好的。我刚才看了。明白您的意思了。不过。我现在的问题看这好像不是这样的问题。
1.我分开两个板子的,当两个板子空间距离很接近的时候,才会出现。
2.接近以后,操作触摸屏,除了会出现横线外,有时候操作,还会让触摸屏直接黑屏没有反映。但是mcu是没有死机的。我挂着一个灯的任务,还在闪烁。怀疑是ra8875死机了。
3.关于前面死机,我在猜想是不是影响到他的晶振了。
4。看您原来的开发笔记,也存在起振的问题,后来是怎么处理,调节匹配电容,容值为多少,还是换为有源晶振。
5.还有ra8875的背光,分频设置数值为0.1,2,3,4,都不能动作。只有设置为5以后才能工作。设置为前面的都是黑屏。我用的是7寸群创的屏幕。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2017-2-18 00:29:51 | 显示全部楼层

回 zxdzwcs 的帖子

zxdzwcs:好的。我刚才看了。明白您的意思了。不过。我现在的问题看这好像不是这样的问题。
1.我分开两个板子的,当两个板子空间距离很接近的时候,才会出现。
2.接近以后,操作触摸屏,除了会出现横线外,有时候操作,还会让触摸屏直接黑屏没有反映。但是mcu是没有死机的。我挂着一个灯的 .. (2017-02-17 14:25) 
具体硬件设计这块,我没什么经验,这个是站长做的。

RA8875里面有PLL锁相环配置,不行降低下看看,另外你现在测试是把屏直接插到板子上面测试的吗
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-16 10:19 , Processed in 0.045710 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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