zoukankan      html  css  js  c++  java
  • MSP430常用程序架构

    一、低功耗+中断

    主函数

    {

    关闭看门狗

    设置系统时钟

    显示等外围设备初始化

    定时器等内部资源初始化设置

    开全局中断

    进入低功耗

    }

    中断函数1

    {};

    中断函数2

    {}

    文件组织形式

    main.c

    /***************************头文件引用*******************************/

    #include
    "msp430f149.h"

    设备文件1头文件(例如#include
    "ILI9325_Driver.h"

    设备文件2头文件(例如#include
    "Disp_Lib.h"

    /*********************宏定义与数据定义*************************************/

    #define YEAR TimeBuff[0]

    unsigned
    char TimeBuff[7]={11,6,27,8,35,0,7};

    /*************************************************************

    函数名称:Sys_Init

    功 能:设置系统时钟,内部资源和外设初始化。(例如完成TFT初始化

    显示,定时器A初始化)

    参 数:无

    返 回 值:无

    ************************************************************
    */

    int main(void)

    {

    Sys_Init();

    _EINT();
    //使能全局中断

    LPM3;
    //进入睡眠模式,等待被唤醒

    }

    #pragma vector = TIMERA0_VECTOR //CCR0中断服务

    __interrupt
    void ta0_isr(void)

    {};

    设备文件1(例如ILI9325_Drive.c)

    /*********************头文件引用************************************/

    #include
    "msp430f149.h"

    #include
    "ILI9325_Driver.h"

    #include
    "Disp_Lib.h"

    /*********************定义接口信息************************************/

    #define ILI9325_CTRL_DIR P4DIR

    #define ILI9325_CTRL_SEL P4SEL

    函数1()

    {};

    函数2()

    {};

    设备文件1头文件(例如ILI9325_Drive.h)

    #ifndef _ILI9325_DRIVER_H_防止重复调用

    #define _ILI9325_DRIVER_H_

    /*********************宏定义************************************/

    #define CYAN 0x7FFF//青色

    #define YELLOW 0xFFE0

    #define TEST 0xFF55

    /*********************函数申明************************************/

    extern void LCD_DispOnePixel(unsigned int xAddr,unsigned int yAddr,unsigned long color);

    extern void LCD_ClearScreen(unsigned long bColor);

    #endif

    二、循环+低功耗+中断中唤醒

    主函数

    {

    关闭看门狗

    设置系统时钟

    显示等外围设备初始化

    定时器等内部资源初始化设置

    开全局中断

    While(
    1)

    {

    进入低功耗

    函数;

    }

    }

    中断函数1

    {

    中断服务函数;

    退出低功耗模式;

    };

    三、菜单按键交互模式

    while1

    {

    扫描按键;

    键值处理函数;

    }

    键值处理函数

    {

    swich(键值)

    case ……

    显示刷新

    }
  • 相关阅读:
    实现类似“添加扩展程序…”的设计时支持
    为什么word2007写的文章不能显示在首页
    (翻译)LearnVSXNow!#4 创建一个带有工具窗的Package
    (翻译)LearnVSXNow!#1 如何开始VSX开发?
    测试Windows live writer 发日志
    (翻译)LearnVSXNow!#3 创建一个带有简单命令的Package
    styleSheetTheme和them
    (翻译)LearnVSXNow!#2 创建一个空的VS Package
    VS 2008 Package 备忘
    通用树形表查询SQL
  • 原文地址:https://www.cnblogs.com/yuesheng/p/2100362.html
Copyright © 2011-2022 走看看