一、低功耗+中断
主函数
{
关闭看门狗
设置系统时钟
显示等外围设备初始化
定时器等内部资源初始化设置
开全局中断
进入低功耗
}
中断函数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 { 中断服务函数; 退出低功耗模式; };
三、菜单按键交互模式
while(1) { 扫描按键; 键值处理函数; } 键值处理函数 { swich(键值) case …… 显示刷新 }
|