完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我用的是老版本的ucgui 还能看到源代码的那一种 也没有上操作系统 没有外扩SRAM等 主控芯片是STM32F103ZET6 因为是老版本的ucgui 所以也没有画图控件 只有一个按照数组显示静态曲线的函数GUI_DrawGraph。
我的想法是直接调用这个函数 然后每一个循环把新的数据放到数组里面 如此循环 但是这样会重叠在一起 所以需要清屏幕的函数来把上次的图形清除掉 但是这样的话又会让屏幕在绘图的时候闪烁不停。 上一周发现了存储设备这样东西 貌似可以在内存中直接画出组合好的图形然后直接显示 所以想直接在内存里面画好黑色背景 然后叠加每次的静态波形 这样看起来就是动态的了。 存储设备部分程序我是这么写的 hMem = GUI_MEMDEV_Create(Rect.x0, Rect.y0, Rect.x1 - Rect.x0, Rect.y1 - Rect.y0); GUI_MEMDEV_Select(hMem); _Draw(liu,i); GUI_MEMDEV_CopyToLCD(hMem); 第一行创建存储设备 第二行选择存储设备 第三行画图 两个参数分别是liu 要画图的数组名 i 数组现在的长度 static void _Draw(I16* p,int i) { Lcd_ColorBox(Rect.x0,Rect.y0,Rect.x1,Rect.y1,BLACK); GUI_DrawGraph(p,i,Rect.x0,399); } 第四行拷贝到LCD上 现在的问题是 (1)依然屏幕闪烁 好像没有任何区别 (2)我认为第三行应该是往存储设备里面写东西的 到第四句才真的显示到屏幕上 但是实际上去除第四行屏幕也还是可以正常显示 依然闪烁不停 (3)拷贝到屏幕上的那个函数还有一个void GUI_MEMDEV_CopyToLCDAt(GUI_MEMDEV_Handle hMem, int x, int y);这个里面的xy在手册里面是x y X 方向位置。 Y 方向位置。 这两个参数到底是什么意思 是填写坐标还是什么?如果是坐标 用哪个点呢? 注:单步调试发现 hMem是有值的 也就是说创建控件是成功的 但是后面运行结果就和我想的不一样了 是哪里出问题了吗 我理解哪里出错了 真心求教。。。。。。。 |
|
相关推荐
1个回答
|
|
|
是问题描述的不够清楚咩。。。。。自己顶一下
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1020浏览 1评论
1849浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1359浏览 1评论
1851浏览 0评论
1177浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 19:51 , Processed in 0.442247 second(s), Total 44, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1203