OpenEdv-开源电子网

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

温度水银柱不能充填

[复制链接]

13

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2015-12-21
在线时间
17 小时
发表于 2016-1-30 10:13:22 | 显示全部楼层 |阅读模式
1金钱
我做了个温度水银柱,反映温度变化, 传感器传来的温度能显示并不断变化,
为何水银柱却充填不上?
Gui_fillrect( 20,10,25   temperature/10)  不显示红色柱子,
但temperature换成具体数字就显示水银柱了,如
Gui_fillrect( 20,10,25   200/10)就行,
temperature/10 在屏幕上能显示数字温度,
在师说说怎么加事。

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

使用道具 举报

29

主题

244

帖子

0

精华

高级会员

Rank: 4

积分
944
金钱
944
注册时间
2014-10-9
在线时间
93 小时
发表于 2016-1-30 10:58:34 | 显示全部楼层
temperature这个值是不是一直没变过呀
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165225
金钱
165225
注册时间
2010-12-1
在线时间
2107 小时
发表于 2016-1-31 15:57:22 | 显示全部楼层
帮顶
回复

使用道具 举报

13

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2015-12-21
在线时间
17 小时
 楼主| 发表于 2016-1-31 18:58:33 来自手机 | 显示全部楼层
捣鼓半天,gui-fillrect(20,10,25,tenperature)能充上水银柱,为何temperrature/10填充不了,temperature经过数学变化就充不上了,
回复

使用道具 举报

13

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2015-12-21
在线时间
17 小时
 楼主| 发表于 2016-1-31 19:02:13 来自手机 | 显示全部楼层
t=temperature/10;gui-fillrect(20,10,25,t)填不上,
回复

使用道具 举报

13

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2015-12-21
在线时间
17 小时
 楼主| 发表于 2016-2-1 07:44:55 | 显示全部楼层
void tem(void)
{
       
        delay_init();                     //延时函数初始化          
       
        LED_Init();                                  //初始化与LED连接的硬件接口

        POINT_COLOR=RED;//设置字体为红色
          
        while(DS18B20_Init())        //DS18B20初始化       
        {
                LCD_ShowString(60,130,200,16,16,"DS18B20 Error");
                delay_ms(200);
               
        }                                                                  
        LCD_ShowString(60,130,200,16,16,"DS18B20 OK");
        POINT_COLOR=BLUE;//设置字体为蓝色
        LCD_ShowString(60,150,200,16,16,"Temp:   . C");         
       
                       
       
}


int main(void)
{       
        short temperature;
        delay_init();                    //延时函数初始化          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(115200);                 //串口初始化为115200
        LED_Init();                            //LED端口初始化
        TFTLCD_Init();                        //LCD初始化       
        KEY_Init();                                 //按键初始化
        TP_Init();                                //触摸屏初始化
        TIM3_Int_Init(999,71);        //1KHZ 定时器1ms
        TIM6_Int_Init(999,719);        //10ms中断

        mem_init();                         //初始化内部内存池
       
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);//使能CRC时钟,否则STemWin不能使用
        WM_SetCreateFlags(WM_CF_MEMDEV);
       
        GUI_Init();
       
               
  GUI_SetPenSize(2);
  
    GUI_SetBkColor(GUI_BLACK);
       

GUI_SetColor(GUI_WHITE);
GUI_DrawRect(115,18,125,210);
GUI_SetColor(GUI_RED);
  GUI_FillCircle(120,10,12);

GUI_DrawHLine(50,20,160);
GUI_DrawHLine(180,20,160);

tem();
while(1)
        {                        
                                                                                  
                        temperature=DS18B20_Get_Temp();       
               
                        if(temperature<0)
                        {
                                LCD_ShowChar(60+40,150,'-',16,0);                        //显示负号
                                temperature=-temperature;                                        //转为正数
                        }else LCD_ShowChar(60+40,150,' ',16,0);                        //去掉负号
                       
                       
                        LCD_ShowNum(60+40+8,150,temperature/10,2,16);        //显示正数部分            
                           LCD_ShowNum(60+40+32,150,temperature%10,1,16);        //显示小数部分        
                 GUI_ClearRect(116,18,123,220);
                       
                       
                       
                GUI_FillRect(116,18,123,temperature/10);
               
                                          
                
               
                delay_ms(1000);
               
        }
}
回复

使用道具 举报

13

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2015-12-21
在线时间
17 小时
 楼主| 发表于 2016-2-1 07:46:47 | 显示全部楼层
GUI_FillRect(116,18,123,temperature/10);显示不出红柱子,t=temperature/10;gui-fillrect(20,10,25,t)也填不上,
回复

使用道具 举报

13

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2015-12-21
在线时间
17 小时
 楼主| 发表于 2016-2-1 07:48:34 | 显示全部楼层
GUI_FillRect(116,18,123,temperature);能显示出不断变化的红柱子
回复

使用道具 举报

55

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
375
金钱
375
注册时间
2013-1-18
在线时间
56 小时
发表于 2016-2-20 18:14:23 | 显示全部楼层
如果temperature小于10,则temperature/10 =0;
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 18:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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