资源简介

基于IAR的STM8L152的USART+ADC(双通道)带DMA+RTC定时唤醒+外部中断唤醒+低功耗HALT模式(源码)

资源截图

代码片段和文件信息

/*
声明:
由于最近在做一个物联网的项目,有一些传感器节点需要用到STM8(主要是低功耗)
之前一直在用STM32,虽然STM8总体比STM32简单,但是对于第一次使用者来说,没有一些
历程还是不怎么方便的,因为网上关于STM8L系列的源程序不是很多,因此就将自己这几天
自己编写和调试的代码共享出来,这里只是一个框架,因为项目的核心涉及到机密,这里就
不共享了,希望对有用的朋友有帮助!
作者:
      陈洋
      重庆邮电大学
      2014.3.18于实验室

*/

#include “stm8l15x.h“
#include “bsp.h“
#include “app.h“

#define USE_LSE

extern u8 USART_RX_BUF[ ];//串口接受缓冲区
extern volatile u16 USART_RX_STA;//接受状态

uint32_t fre;//外部时钟变量
 
CLK_SYSCLKSource_TypeDef clk;

volatile bool wakeup_flag = FALSE;//唤醒标志
 
void main()
{
  BSP_Init( );//板级初始化
  
  fre = CLK_GetClockFreq( ); //获得系统时钟 
  printf(“%uKhz\n“(unsigned int)(fre / 1000));
  
   
  
  
  while (1)
  {   
      if(USART_RX_STA&0x8000)//串口是否接受完一帧数据
      {     
        
         printf(“%s\n“(char *)USART_RX_BUF); //回传验证

          USART_RX_STA = 0;//清除完成标记
      }   
      if(wakeup_flag == TRUE)//如果唤醒,要做的事情
      {
          printf(“RTC“);
          wakeup_flag = FALSE;     
          
          /*
            获取网关发来的配置参数并进行自身的参数的配置
            向网关发送数据(遵循协议)
            检测电源电压,如果过低,则LED闪烁
            没有其他的任务就进入休眠状态        
          */
      }
      delay_ms(500); 
      LED1_ON(); 
      delay_ms(500);
      LED1_OFF(); 
       
      printf(“Battery:%f\n“(float)ADC1_Channel1_Battery); 
      printf(“Vrefint:%f\n“(float)ADC1_Channel_Vrefint); 
   
    
  } 
}





 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-03-18 19:36  Cy-STM8\
     目录           0  2014-03-18 19:36  Cy-STM8\APP\
     文件         917  2014-03-18 16:35  Cy-STM8\APP\WirelessProtocol.c
     文件        1713  2014-03-18 19:36  Cy-STM8\APP\app.c
     文件         841  2014-03-18 16:25  Cy-STM8\APP\app.h
     文件        3255  2014-03-14 17:40  Cy-STM8\APP\stm8l15x_conf.h
     文件       13568  2014-03-17 20:19  Cy-STM8\APP\stm8l15x_it.c
     文件        3802  2014-03-14 10:39  Cy-STM8\APP\stm8l15x_it.h
     目录           0  2014-03-18 16:05  Cy-STM8\BSP\
     文件         258  2014-03-18 16:05  Cy-STM8\BSP\bsp.c
     文件         312  2014-03-16 13:07  Cy-STM8\BSP\bsp.h
     文件        1637  2014-03-16 10:33  Cy-STM8\BSP\sysclk.c
     文件          73  2014-03-14 13:45  Cy-STM8\BSP\sysclk.h
     文件         163  2014-03-14 17:31  Cy-STM8\CY.eww
     文件       40991  2014-03-18 19:36  Cy-STM8\CyProject.dep
     文件       11254  2014-03-14 10:39  Cy-STM8\CyProject.ewd
     文件       45456  2014-03-18 15:44  Cy-STM8\CyProject.ewp
     文件         163  2014-03-14 10:39  Cy-STM8\Cyeww.eww
     目录           0  2014-03-17 19:58  Cy-STM8\Debug\
     目录           0  2014-03-18 16:04  Cy-STM8\Debug\Exe\
     文件       35478  2014-03-18 16:04  Cy-STM8\Debug\Exe\CyProject.hex
     文件      250868  2014-03-18 16:04  Cy-STM8\Debug\Exe\CyProject.out
     目录           0  2014-03-18 19:36  Cy-STM8\Debug\List\
     目录           0  2014-03-18 19:36  Cy-STM8\Debug\Obj\
     文件        2059  2014-03-18 19:36  Cy-STM8\Debug\Obj\CyProject.pbd
     文件        5219  2014-03-16 20:22  Cy-STM8\Debug\Obj\Led.o
     文件        6086  2014-03-18 15:58  Cy-STM8\Debug\Obj\WirelessProtocol.o
     文件        8761  2014-03-16 20:22  Cy-STM8\Debug\Obj\adc.o
     文件       10527  2014-03-18 16:04  Cy-STM8\Debug\Obj\app.o
     文件        5863  2014-03-16 20:22  Cy-STM8\Debug\Obj\bsp.o
     文件        8431  2014-03-16 20:22  Cy-STM8\Debug\Obj\delay.o
............此处省略130个文件信息

评论

共有 条评论