搜索
bottom↓
回复: 13

请教下,红牛板移植emWin海豚游动时出现黑影,3.5寸SSD1963屏

[复制链接]

出0入0汤圆

发表于 2015-6-15 17:28:49 | 显示全部楼层 |阅读模式
本帖最后由 zhuisuoji 于 2015-6-15 17:36 编辑

请教下,红牛板移植emWin海豚游动时出现黑影,使用鼠标也是一样出现黑影,3.5寸SSD1963屏,目前还不知道该如何解决.
读点程序设2次后读取也都试过,但都一样,反而设第3次后时效果好一点,海豚游动时出现的不是黑影,而是不规则颜色的影子,

这是读2次的


下面都是读3次的






  1. /********************************************************************
  2. *
  3. *       LcdWriteReg
  4. *
  5. * Function description:
  6. *   Sets display register
  7. */
  8. static void LcdWriteReg(U16 Data) {
  9.   // ... TBD by user
  10.         LCD_REG        = Data;
  11. }

  12. /********************************************************************
  13. *
  14. *       LcdWriteData
  15. *
  16. * Function description:
  17. *   Writes a value to a display register
  18. */
  19. static void LcdWriteData(U16 Data) {
  20.   // ... TBD by user
  21.         LCD_RAM        = Data;
  22. }

  23. /********************************************************************
  24. *
  25. *       LcdWriteDataMultiple
  26. *
  27. * Function description:
  28. *   Writes multiple values to a display register.
  29. */
  30. static void LcdWriteDataMultiple(U16 * pData, int NumItems) {
  31.   while (NumItems--) {
  32.     // ... TBD by user
  33.                 LCD_RAM        = * pData++;
  34.   }
  35. }

  36. /********************************************************************
  37. *
  38. *       LcdReadDataMultiple
  39. *
  40. * Function description:
  41. *   Reads multiple values from a display register.
  42. */
  43. static void LcdReadDataMultiple(U16 * pData, int NumItems) {
  44.   while (NumItems--) {
  45.     // ... TBD by user
  46.                 * pData++ = LCD_RAM;
  47.   }
  48. }
  49. /*********************************************************************
  50. *
  51. *       LCD_X_Config
  52. *
  53. * Function description:
  54. *   Called during the initialization process in order to set up the
  55. *   display driver configuration.
  56. *
  57. */
  58. void LCD_X_Config(void) {
  59.   GUI_DEVICE * pDevice;
  60.   CONFIG_FLEXCOLOR Config = {0};
  61.   GUI_PORT_API PortAPI = {0};
  62.         unsigned TouchOrientation;
  63.   //
  64.   // Set display driver and color conversion
  65.   //
  66.   pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_M565, 0, 0);
  67.   //
  68.   // Display driver configuration, required for Lin-driver
  69.   //
  70.   LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS);
  71.   LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS);
  72.         //
  73.         // Set orientation of touch screen (only required when using
  74.         //
  75.         TouchOrientation = GUI_SWAP_XY ;
  76.        
  77.         GUI_TOUCH_SetOrientation(TouchOrientation);
  78.        
  79.         GUI_TOUCH_Calibrate(GUI_COORD_X, 0, 239, GUI_TOUCH_AD_TOP, GUI_TOUCH_AD_BOTTOM);
  80.         GUI_TOUCH_Calibrate(GUI_COORD_Y, 0, 319, GUI_TOUCH_AD_LEFT,GUI_TOUCH_AD_RIGHT);       
  81.   //
  82.   // Orientation
  83.   //
  84.   Config.Orientation = 0;//GUI_SWAP_XY | GUI_MIRROR_Y
  85.         Config.NumDummyReads = 2;         //--读第2次才开始数据的读取
  86.   GUIDRV_FlexColor_Config(pDevice, &Config);
  87.   //
  88.   // Set controller and operation mode
  89.   //
  90.   PortAPI.pfWrite16_A0  = LcdWriteReg;
  91.   PortAPI.pfWrite16_A1  = LcdWriteData;
  92.   PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple;
  93.   PortAPI.pfReadM16_A1  = LcdReadDataMultiple;
  94.         GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66720, GUIDRV_FLEXCOLOR_M16C0B16);
  95. }
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2015-6-15 18:20:13 | 显示全部楼层
补允一下,下面是我利用emWin输出的颜色,并颜色值打印出来(第1位置),然后再用emWin的读点函数读出,并显示出来比较(第2位置)
除了以下这几个颜色写入与读出比较是一样的,其它的都是不一样的,也不知道是不是这个原因,看到ssd1963是18位及24位的,所以采用24位显示,而emWin是565,会不会是因为16位与24位转换的原因?


  1. #define GUI_BLUE                          0x00FF0000        //比较后一样
  2. #define GUI_GREEN                         0x0000FF00        //比较后一样
  3. #define GUI_RED                           0x000000FF        //比较后一样
  4. #define GUI_CYAN                          0x00FFFF00        //比较后一样
  5. #define GUI_MAGENTA                       0x00FF00FF        //比较后一样
  6. #define GUI_YELLOW                        0x0000FFFF        //比较后一样
  7. #define GUI_LIGHTBLUE                     0x00FF8080
  8. #define GUI_LIGHTGREEN            0x0080FF80
  9. #define GUI_LIGHTRED                      0x008080FF
  10. #define GUI_LIGHTCYAN                     0x00FFFF80
  11. #define GUI_LIGHTMAGENTA          0x00FF80FF
  12. #define GUI_LIGHTYELLOW           0x0080FFFF
  13. #define GUI_DARKBLUE                      0x00800000
  14. #define GUI_DARKGREEN             0x00008000
  15. #define GUI_DARKRED                       0x00000080
  16. #define GUI_DARKCYAN                      0x00808000
  17. #define GUI_DARKMAGENTA           0x00800080
  18. #define GUI_DARKYELLOW            0x00008080        //比较后一样
  19. #define GUI_WHITE                         0x00FFFFFF         //比较后一样
  20. #define GUI_LIGHTGRAY                     0x00D3D3D3
  21. #define GUI_GRAY                          0x00808080
  22. #define GUI_DARKGRAY                      0x00404040
  23. #define GUI_BLACK                         0x00000000        //比较后一样
  24. #define GUI_BROWN                         0x002A2AA5
  25. #define GUI_ORANGE                        0x0000A5FF
复制代码

下面是颜色写入与读出参数比较




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-6-16 16:19:09 | 显示全部楼层
同问,SSD1963 emwin读点的我也是没解决

出0入0汤圆

 楼主| 发表于 2015-6-16 19:04:52 | 显示全部楼层
heitu103 发表于 2015-6-16 16:19
同问,SSD1963 emwin读点的我也是没解决

我还以为坛里没人遇到此问题呢~~~

出0入0汤圆

发表于 2015-6-16 21:50:45 | 显示全部楼层
emWin自带的LCD驱动有些有问题,我的是ILI9486,用自带驱动也有拖尾,最后自定义驱动解决,一般提供一个打点程序和读点程序就行了。

出0入0汤圆

发表于 2015-6-17 09:11:47 | 显示全部楼层
rgzdb 发表于 2015-6-16 21:50
emWin自带的LCD驱动有些有问题,我的是ILI9486,用自带驱动也有拖尾,最后自定义驱动解决,一般提供一个打 ...

明白了   

出0入0汤圆

 楼主| 发表于 2015-6-17 10:05:51 | 显示全部楼层
rgzdb 发表于 2015-6-16 21:50
emWin自带的LCD驱动有些有问题,我的是ILI9486,用自带驱动也有拖尾,最后自定义驱动解决,一般提供一个打 ...


谢谢~~~我也是查来查去觉着应该也是emWin本身驱动问题.正在努力想办法改正

出0入0汤圆

 楼主| 发表于 2015-6-17 13:50:45 | 显示全部楼层
自己试过,ssd1963连续读取是不用设置第二次读取的

出0入0汤圆

 楼主| 发表于 2015-6-19 03:17:53 | 显示全部楼层
zhuisuoji 发表于 2015-6-17 10:05
谢谢~~~我也是查来查去觉着应该也是emWin本身驱动问题.正在努力想办法改正 ...

实验证明,不要怀疑emWin的驱动,多找找自己的问题,已经完美解决黑影问题~~~

出20入25汤圆

发表于 2015-6-19 07:19:54 来自手机 | 显示全部楼层
解决不说怎么解决?

出0入0汤圆

 楼主| 发表于 2015-6-19 11:23:27 | 显示全部楼层
chenchaoting 发表于 2015-6-19 07:19
解决不说怎么解决?

肯定得分享啦~~~昨晚凌晨3点多刚搞定啊,立马睡大觉去了

出0入0汤圆

 楼主| 发表于 2015-6-19 18:15:21 | 显示全部楼层
分享在这里:http://www.amobbs.com/forum.php? ... p;page=1#pid8634177

出0入0汤圆

发表于 2017-5-12 09:52:39 | 显示全部楼层
我也有遇到黑影现象,但是我用自定义移植方式解决了,可是出现了系统时钟变慢的问题。

出0入0汤圆

 楼主| 发表于 2017-5-12 22:10:32 | 显示全部楼层
jaygeng 发表于 2017-5-12 09:52
我也有遇到黑影现象,但是我用自定义移植方式解决了,可是出现了系统时钟变慢的问题。 ...

你是说用自定义的驱动方式么?
自定义的驱动好象会影响刷屏速度~~~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 18:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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