zoukankan      html  css  js  c++  java
  • 2017.11.16 STM8L052 温度控制器

    1 J-link和ST-link的兼容性

       STM8只能用ST-link。J-link兼容所有的(大部分而已)的ARM内核IC

       mark:  http://bbs.eeworld.com.cn/thread-431094-1-1.html

    其实不在线编译的话,可以选择串口和usb烧录,还有IAP(最近有看到项目用这个)

    2搭建开发环境

      STM8只能用ST 自己的软件 STVD 听说IAR也可以,但是很麻烦。(去官网下载,不需要破解)

    mark:   https://jingyan.baidu.com/article/4b07be3c4c344348b380f3a2.html

    3焊接好硬件

         原来在做pcb的时候还是疏忽了一些细节,

    调试点太近了,焊盘孔没做处理。

    4编代码

        STm8是因为支持驱动LCD所以选用。

     程序用ST的库函数。自己按硬件电路,配置好lcd引脚。NTC的读取,和按键配置。

    最关键的是温度控制器的功能实现。

       

    void sleep_enter(void)
    {
    //off LCD
    disableInterrupts();
    prog_enter_sleep();
    disp_enter_sleep();
    LCD_Com_Page(0);
    LCD_Cmd(DISABLE);
    //disable 16Hz
    RTC_WakeUpCmd(DISABLE);
    GPIO_Init(POWER_12V_PORT,POWER_12V_PIN,GPIO_Mode_In_PU_IT);
    //disable ADC Clock
    CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, DISABLE);
    enableInterrupts();
    }

    void sleep_exit(void)
    {
    disableInterrupts();
    key_init();
    temper_init();
    //disable 16Hz
    RTC_WakeUpCmd(ENABLE);
    //disable ADC Clock
    CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);
    //off LCD
    LCD_Cmd(ENABLE);
    GPIO_Init(POWER_12V_PORT,POWER_12V_PIN,GPIO_Mode_In_PU_No_IT);
    enableInterrupts();
    ADC_SoftwareStartConv(ADC1);
    key_flag.f.disable=1; //clear the default key input
    sys_time_load();
    }


    void sleep_func(void)
    {
    if((GPIO_ReadInputData(POWER_12V_PORT)&POWER_12V_PIN)!=0){
    nop();
    nop();
    nop();
    if((GPIO_ReadInputData(POWER_12V_PORT)&POWER_12V_PIN)!=0){
    sleep_enter();
    _sleep_loop:
    if((GPIO_ReadInputData(POWER_12V_PORT)&POWER_12V_PIN)==0){
    goto _sleep_exit;
    }
    halt();
    if((GPIO_ReadInputData(POWER_12V_PORT)&POWER_12V_PIN)!=0){
    goto _sleep_loop;
    }
    _sleep_exit:
    sleep_exit();
    }
    }
    }

    5功能演示

        video。。。

  • 相关阅读:
    数据结构-链式结构-队列
    c数据结构-线性结构-队列
    栈的四则运算的运用
    C++/C—函数指针
    向显存写数据x8086
    结构体内存偏移量
    MFC-ComboBox控件的使用
    MFC的Edit text编辑框控件
    C/C++反汇编-各种表达式(加减乘)
    MFC- 学习控件-静态文本
  • 原文地址:https://www.cnblogs.com/huangbaobaoi/p/7844259.html
Copyright © 2011-2022 走看看