
最近在捣鼓 emwin v5.28 OS 的,目前基本能够显示出 字符,但是显示的字符有黑点, 这个显示有黑点是在 rtc 的显示里面,如果初始化后就显示貌似没有,这种情况是神马问题造成的啊 ?? 图片1 没有在rtc任务里显示出来的字符效果,还行 ![]() 下面的图片是在rtc 任务里面显示的,有黑点或者黑条 ![]() ![]() ![]() U8 * aMemory ; // 数据类型 使用 u32,u8 结果都是一样的 aMemory = ((U8 *) (0x68000000)); // 1 这样可以 aMemory = ((U8 *) (0x68008000)); // 2 这样就不行【或为其他任意一个数值,比如,0x68180000, 0x68001000 等显示都会有黑点或者黑条】,显示就会出现黑点或者黑条的情况, 为什么啊 ??? 外部的sram 是 2MByte的,应该最大是可以 到 1024*1024*2 = 0x20 0000 + 0x68000000 = 0x6820 0000,上面的使用应该是没有超出范围的吧 ??? aMemory = ((U8 *) (0x68100000)); // 地址从 0x6810 0000 开始,这样的也可以了【显示完全没有问题】。把外部sram 最后 1MByte 分配给emwin 使 用【前面的1MBye 留着解码图片音频等使用】,这是为什么啊 ????? GUI_ALLOC_AssignMemory( (void*) aMemory, 512*1024UL); //此处的字节数最大只能够为 512x1024,不是说是按照字节算的嘛,怎么只能是512x1024,不能够 1024x1024 ???? GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE); //设置存储快的平均尺寸,该区越大,可用的存储快数量越少 emwin 底层显示函数 /********************************************************************* * * Local functions * ********************************************************************** */ static void LcdWriteReg(U16 Data) { FMC_LCD->REG = Data; } static void LcdWriteData(U16 Data) { FMC_LCD->RAM = Data; } static void LcdWriteDataMultiple(U16 * pData, int NumItems) { while (NumItems--) { FMC_LCD->RAM = *pData++; } } static void LcdReadDataMultiple(U16 * pData, int NumItems) { while (NumItems--) { *pData++ = FMC_LCD->RAM ; } } |
评分
查看全部评分
1,驱动LCD的时序不对
2,驱动SDRAM的时序有误
评分
查看全部评分
你好,请问 下 MPU 如何设置啊 ??