2017.11.24 Stm8L151-factory
Marking---------factory fun。。。
/**
******************************************************************************
* @file factory.c
* @author Huang
* @version V0.1
* @date 11/2017
* @brief This file contains all the lcd digit
******************************************************************************
*/ /* Includes ------------------------------------------------------------------*/
#include "stm8l15x.h"
#include "gd_broad.h"
#include "digit.h"
#include "disp.h"
#include "prog.h"
#include "key.h"
#include "temper.h"
#include "factory.h" void factory_init(void)
{
sys_type=SYS_FACTORY_TYPE;
disp_mode_set(DISP_FACTORY_TEMP_VALUE_MODE);
} void factory_func(void)
{
/*display second*/
if(sys_flag.f.t16hz){
sys_flag.f.t16hz=;
if(sys_flag.f.adc_data){
sys_flag.f.adc_data=;
temper_func();
}
key_func();
//digit_d4_d5(key_code);
sys_16hz_count++;
if((sys_16hz_count&0x1f)==){
// 2 seconds routine
sys_time_update();
ADC_SoftwareStartConv(ADC1);
}
switch(sys_16hz_count&0x0f){
case :
sys_flag.f.dsp=;
break;
case :
disp_off_func();
break;
}
}
if(sys_flag.f.dsp==){
sys_flag.f.dsp=;
if(disp_last_mode!=disp_mode){
disp_last_mode=disp_mode;
LCD_Com_Page();
}
disp_func();
}
} void factory_disp_temp_value(unsigned char temp, unsigned char dec)
{
if(temp==||temp>PROG_TEMP_VALUE_80_DEGREE){
digit_d2_d3_bar();
}else if(temp<PROG_TEMP_VALUE_ZERO_DEGREE){
temp = PROG_TEMP_VALUE_ZERO_DEGREE-temp;
digit_d2();
digit_d3(temp);
digit_d1(-dec);
}else{
temp -= PROG_TEMP_VALUE_ZERO_DEGREE;
if(temp>=){
digit_d2_d3(temp);
}else{
digit_d2_off();
digit_d3(temp);
}
digit_d1(dec);
}
digit_d4_d5_oC();
COL_OFF();
} void factory_disp_func(void)
{
switch(disp_mode)
{
case DISP_FACTORY_TEMP_VALUE_MODE:
factory_disp_temp_value(temper_value,temper_dec_value);
break;
}
} void factory_disp_off_func(void)
{
} void factory_disp_mode_set(void)
{
disp_sub_mode=;
} void factory_key_timeout(void)
{
} void key_press_factory_func(void)
{
}
void key_release_factory_func(void)
{
}
void key_hold2s_factory_func(void)
{
} void factory_key_func(void)
{
switch(key_status){
case KEY_WAIT:
break;
case KEY_PRESS:
key_press_factory_func();
break;
case KEY_RELEASE:
key_release_factory_func();
break;
case KEY_HOLD_2S:
key_hold2s_factory_func();
break;
} }
2017.11.24 Stm8L151-factory的更多相关文章
- 2017.11.24 算法分析与设计------Gay格雷码
1. 格雷码问题: 对于给定的正整数n,格雷码为满足如下条件的一个编码序列: (1) 序列由2n个编码组成,每个编码都是长度为n的二进制位串. (2) 序列中无相同的编码. (3) 序列中位置相邻的两 ...
- Becoming inspired - ASC - 2017 MARCH 24
Becoming inspired - The 11 questions to ask yourself when you feel uninspired @ Advanced Studio Clas ...
- [LOJ 6249]「CodePlus 2017 11 月赛」汀博尔
Description 有 n 棵树,初始时每棵树的高度为 H_i,第 i 棵树每月都会长高 A_i.现在有个木料长度总量为 S 的订单,客户要求每块木料的长度不能小于 L,而且木料必须是整棵树(即不 ...
- [LOJ 6248]「CodePlus 2017 11 月赛」晨跑
Description “无体育,不清华”.“每天锻炼一小时,健康工作五十年,幸福生活一辈子” 在清华,体育运动绝对是同学们生活中不可或缺的一部分.为了响应学校的号召,模范好学生王队长决定坚持晨跑.不 ...
- Xamarin 2017.11.9更新
Xamarin 2017.11.9更新 本次更新主要针对Xamarin.iOS,适配了iOS 11.1和Xcode 9.1.Visual Studio 2017升级到15.4.3获得新功能.Visu ...
- 2017.11.11 B201 练习题思路及解题方法
2017.11.11 B201 练习题思路及解题方法 题目类型及涵盖知识点 本次总共有6道题目,都属于MISC分类的题目,涵盖的知识点有 信息隐藏 暴力破解 音轨,摩斯电码 gif修改,base64原 ...
- iOS静态库.a总结(2017.1.24增加脚本打包方法)
修改于:2017.1.24 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.根据源代码的公开情况,库可以分为2种类型 a.开源库 公开源代码,能看到具体实现 ,比如SDWebImag ...
- jingchi.ai 2017.11.25-26 Onsite面试
时间:2017.11.25 - 11.26 地点:安徽安庆 来回路费报销,住宿报销. day1: 大哥哥问了我一个实际中他们遇到的问题.有n个点,将点进行分块输出,输出各个块的均值点.具体就是100* ...
- [CodePlus 2017 11月赛&洛谷P4058]木材 题解(二分答案)
[CodePlus 2017 11月赛&洛谷P4058]木材 Description 有 n棵树,初始时每棵树的高度为 Hi ,第 i棵树每月都会长高 Ai.现在有个木料长度总量为 S的订单, ...
随机推荐
- [转载]有经验的Java开发者和架构师容易犯的10个错误
首先允许我们问一个严肃的问题?为什么Java初学者能够方便的从网上找到相对应的开发建议呢?每当我去网上搜索想要的建议的时候,我总是能发现一大堆是关于基本入门的教程.书籍以及资源.同样也发现网上到处充斥 ...
- 【Myeclipse设置】MyEclipse取消Show in Breadcrumb的方法
有时不小心把快捷导航整出来,对于本来就很小的编辑空间来讲就很痛苦了,下面的方法可行,本人亲自试验过. 参考地址:百度文库中的解决方法 在最后用户通过点击出来的图标 ,就可以自如的控制出现和消失了.
- testng xml配置文件
简单介绍 运行TestNG测试脚本有两种方式:一种是直接通过IDE运行(例如使用eclipse中的“Run TestNG tests”),另一种是从命令行运行(通过使用xml配置文件).当我们想执行某 ...
- Part1.2 、RabbitMQ -- Publish/Subscribe 【发布和订阅】
python 目录 (一).交换 (Exchanges) -- 1.1 武sir 经典 Exchanges 案例展示. (二).临时队列( Temporary queues ) (三).绑定(Bind ...
- Flask 请求源码分析
执行app.run()方法: def run(self, host=None, port=None, debug=None, **options): from werkzeug.serving imp ...
- Eclipse 多行注释选择
1.Eclipse 中的多行注释 选择与清除 (?s)\/\*\*.*?\*\/ (?s)可以匹配多行 \/\*\*表示以/**开头 匹配类似 /** * * * * asdfasdf */
- LeetCode: Find Largest Value in Each Tree Row
BFS /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * ...
- 入职第一个项目bug总结-2018/07/28
此项目是正式入职后的第一个项目,可能各种原因重重,导致测试提出了如此多的bug,关于那些因为需求不清楚而导致的就不说了,bug总结如下: 一.ElementUI table组件出现横向滚动条 原因:因 ...
- Docker 使用指南 —— 基本操作
Docker 是一个能够把开发应用程序自动部署到容器的开源引擎.它由Docker公司的团队编写,基于Apache 2.0开源协议授权.它提供了一个简单.轻量的建模方式,使开发生命周期更高效快速,鼓励了 ...
- Python3.x:pdf2htmlEX(解析pdf)安装和使用
Python3.x:pdf2htmlEX(解析pdf)安装和使用 简介 pdf2htmlEX是一款优秀的pdf转换成html的工具: 下载 windows下载地址:http://soft.rubypd ...