LM3S9B96 刷新问题

作为参数复位的一个函数,由于时钟原因,导致有三个参数无法刷新归零,

void
OnResetButtonPress(tWidget *pWidget)

   sprintf(s_hours1,"%d",hours1=0);
 sprintf(s_min1,"%d",min1=0);
 sprintf(s_speed1,"%d",speed1=0);
 sprintf(s_speed2,"%d",speed2=0);
 sprintf(s_forward1m,"%d",forward1m=0);
 sprintf(s_forward1s,"%d",forward1s=0);
 sprintf(s_forward2m,"%d",forward2m=0);
 sprintf(s_forward2s,"%d",forward2s=0);
 sprintf(s_pause1m,"%d",pause1m=0);
 sprintf(s_pause1s,"%d",pause1s=0);
 sprintf(s_pause2m,"%d",pause2m=0);
 sprintf(s_pause2s,"%d",pause2s=0);
 sprintf(s_reverse1m,"%d",reverse1m=0);
 sprintf(s_reverse1s,"%d",reverse1s=0);
 sprintf(s_reverse2m,"%d",reverse2m=0);
 sprintf(s_reverse2s,"%d",reverse2s=0);
 sprintf(s_times1m,"%d",times1m=0);
 sprintf(s_times1s,"%d",times1s=0);
 sprintf(s_times2m,"%d",times2m=0);
 sprintf(s_times2s,"%d",times2s=0);
  
   WidgetPaint((tWidget *)(g_psPushButtonIndicators));    
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +2  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +5  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +8  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +11  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +13  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +16  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +18  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +21  ));

   WidgetPaint((tWidget *)(g_psPushButtonIndicators +23  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +26  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +28  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +31  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +33  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +36  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +38  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +41  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +43  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +46  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +48  ));
 
}

 

 

于是在不改变时钟的情况下,我改为了分段刷新,一部分在该函数里刷新,然后设置一个刷新状态参数refresh,另一段放在主函数的循环里刷新

如下:

 

void
OnResetButtonPress(tWidget *pWidget)

   sprintf(s_hours1,"%d",hours1=0);
 sprintf(s_min1,"%d",min1=0);
 sprintf(s_speed1,"%d",speed1=0);
 sprintf(s_speed2,"%d",speed2=0);
 sprintf(s_forward1m,"%d",forward1m=0);
 sprintf(s_forward1s,"%d",forward1s=0);
 sprintf(s_forward2m,"%d",forward2m=0);
 sprintf(s_forward2s,"%d",forward2s=0);
 sprintf(s_pause1m,"%d",pause1m=0);
 sprintf(s_pause1s,"%d",pause1s=0);
 sprintf(s_pause2m,"%d",pause2m=0);
 sprintf(s_pause2s,"%d",pause2s=0);
 sprintf(s_reverse1m,"%d",reverse1m=0);
 sprintf(s_reverse1s,"%d",reverse1s=0);
 sprintf(s_reverse2m,"%d",reverse2m=0);
 sprintf(s_reverse2s,"%d",reverse2s=0);
 sprintf(s_times1m,"%d",times1m=0);
 sprintf(s_times1s,"%d",times1s=0);
 sprintf(s_times2m,"%d",times2m=0);
 sprintf(s_times2s,"%d",times2s=0);
  
   WidgetPaint((tWidget *)(g_psPushButtonIndicators));    //第一段刷新
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +2  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +5  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +8  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +11  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +13  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +16  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +18  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +21  ));

 refreshstate=1;   
 
}

 

main(void)
{ //

while(on)
    {
        // Process any messages from or for the widgets.
        WidgetMessageQueueProcess();
  if(refreshstate){
  
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +23  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +26  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +28  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +31  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +33  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +36  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +38  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +41  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +43  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +46  ));
   WidgetPaint((tWidget *)(g_psPushButtonIndicators +48  ));
   
   refreshstate=0; 
  }

}

该文章献丑了

此方法仅做参考,应该有更好的方法期待高手赐教。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
包含了以下例程的源码,EXE安装下就能用 watchdog 演示使用watchdog的功能 源码 timers 演示使用定时器和定时器中断 源码 uart_echo 使用芯片UART和使用虚拟串口 源码 udma_demo 演示使用uDMA的功能 源码 usb_dev_audio 演示usb device模式下,开发板作为USB音频设备使用 源码 usb_dev_bulk 演示usb device模式下,开发板作为USB存储设备使用 源码 usb_dev_caudiohid 演示usb device模式下,开发板作为键盘使用 源码 usb_dev_keyboard 演示usb device模式下,开发板作为键盘使用 源码 usb_dev_mouse 演示usb device模式下,开发板作为鼠标使用 源码 usb_dev_msc 演示usb device模式下,开发板作为U盘使用 源码 usb_dev_serial 演示usb device模式下,开发板作为虚拟串口使用 源码 usb_host_audio 演示usb host模式下,从SD卡中播放音频 源码 usb_host_audioin 演示usb host模式下,USB audio输入,I2S输出 源码 usb_host_keyboard 演示usb host模式下,识别键盘设备 源码 usb_host_msc 演示usb host模式下,读取U盘里面的内容 源码 usb_stick_demo 演示利用U盘来更新flash里的程序 源码 usb_stick_update 演示利用U盘来更新flash里的程序 源码 spiflash_rw 演示片外flash的读写 源码 showjpeg 演示片外SDRAM的读写 源码 sd_card 演示读取SD卡里的内容 源码 scribble 演示液晶的触摸功能 源码 safertos_demo 演示在开发板上运行一个SafeRTOS 源码 qs-checkout 综合演示多个外围接口的功能 源码 otg_detect 演示usb otg主从机模式的切换使用 源码 mpu_fault 演示内部flash和RAM的读写 源码 lang_demo 演示四种图形库中字符串的显示 源码 interrupts 演示内部中断功能 源码 i2s_speex_enc 演示I2S Record 和 Playback 功能(speex编解码) 源码 i2s_filter 演示I2S Record 和 Playback 功能 源码 i2s_demo 演示通过I2S接口播放SD卡里的音乐 源码 blinky 演示开发板上LED的亮灭 源码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值