OpenEdv-开源电子网

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

我利用原子的哥的底层驱动写的东西,出现了一个显示的问题

[复制链接]

1

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2012-12-27
在线时间
0 小时
发表于 2013-5-18 18:23:29 | 显示全部楼层 |阅读模式

我写了个实时显示文图描点的东西,就是简单的把原子哥的温度程序利用起来,但是出现个问题,画温度的时候只画到240左右就回去了,而且在下面这个区域写字符串,把字体改成叠加模式,就是看不到字体,很困惑,我的程序在附件里

p1.zip

5.63 MB, 下载次数: 59

我爱你
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2012-12-27
在线时间
0 小时
 楼主| 发表于 2013-5-18 18:24:55 | 显示全部楼层
程序里还没把字体改成叠加模式,而且要连上ds18b20
我爱你
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-18 20:09:02 | 显示全部楼层
回复【楼主位】Andyscream:
---------------------------------
1,波形。
void  temp_task(void *pdata)
{
u8 t=0;       
short temperature;        
  u8 i=20;      
POINT_COLOR=BLUE;//设置字体为蓝色 
  LCD_ShowString(5,17,200,16,16,"Temp:   . C");  
while(1)
{ tp_dev.scan(0); 
POINT_COLOR=RED;          
  if(t%10==0)//每100ms读取一次
{   
temperature=DS18B20_Get_Temp();
if(temperature<0)
{
LCD_ShowChar(5+40,17,'-',16,0); //显示负号
temperature=-temperature; //转为正数
}else LCD_ShowChar(5+40,17,' ',16,0); //去掉负号
LCD_ShowNum(5+40+8,17,temperature/10,2,16); //显示正数部分     
    LCD_ShowNum(5+40+32,17,temperature%10,1,16); //显示小数部分
       if(i<=315)
{
POINT_COLOR=BLUE;
LCD_DrawPoint(i,400-8*temperature/10);
i=i+1;
}else if((i>315)|(i<20))
{i=20;}
}

  delay_ms(10);
t++;
if(t==20)
{
t=0;
LED0=!LED0;
}
}

}
在这里画图的吧?
i为u8型的数据,你觉得它最大能到多少?

2,叠加模式,你是不是用的颜色是黄色的画笔,在黄色的底色上面写字,这样和你拿黑色的笔,在黑色的纸上写字一个效果。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2012-12-27
在线时间
0 小时
 楼主| 发表于 2013-5-18 21:07:56 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
谢谢原子哥,我犯了比较低级的错误,问题解决了,还有能问个问题吧,如果写自己的GUI,按键什么的,看什么资料比较好,关键是编程的思路和想法,有没有比较有方向性的资料
我爱你
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-18 21:36:12 | 显示全部楼层
回复【4楼】Andyscream:
---------------------------------
这方面还真没啥好资料推荐的。
用ucGUI算了吧,这个比较多资料。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2012-12-27
在线时间
0 小时
 楼主| 发表于 2013-5-18 22:22:03 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
原子哥,温度是解决了,但是显示文字还是有问题
void screen_init()//第一层菜单显示
{
LCD_Clear(RED);
LCD_Fill(245,10,315,40,LGRAYBLUE);//右侧菜单一
LCD_Fill(165,10,235,40,LGRAYBLUE);// 右侧菜单二
  POINT_COLOR=BLACK;
LCD_ShowString(170,14,200,14,14,"Pramater");
LCD_ShowString(260,14,200,14,14,"Wave");
LCD_Fill(20,70,315,220,BLACK);//波形图背景
POINT_COLOR=WHITE;
LCD_DrawRectangle(19,68,316,221);

}
就是Pramater是可以显示出来的,但是Wave就显示不出啦了
我爱你
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2012-12-27
在线时间
0 小时
 楼主| 发表于 2013-5-18 22:24:15 | 显示全部楼层
写完“Prameter”后没改变画笔颜色啊
我爱你
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2012-12-27
在线时间
0 小时
 楼主| 发表于 2013-5-18 22:26:13 | 显示全部楼层
会不会是像刚才温度一样,到255后,字体画到255之后溢出的问题
我爱你
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2012-12-27
在线时间
0 小时
 楼主| 发表于 2013-5-18 22:30:39 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
原子哥,我把LCD_ShowString(230,14,200,14,14,"Wave");把原来的x坐标向左移动,然后wave只显示了一部分,很像是溢出了
我爱你
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-19 00:18:48 | 显示全部楼层
回复【6楼】Andyscream:
---------------------------------
仿真进入代码看看怎么回事.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 14:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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