中科因仑“3+1”工程特种兵精英论坛
标题:
MSP430常用程序架构
[打印本页]
作者:
leixiaofeng
时间:
2015-5-31 16:51
标题:
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
{
中断服务函数;
退出低功耗模式;
};
三、菜单按键交互模式
while
(
1
)
{
扫描按键;
键值处理函数;
}
键值处理函数
{
swich(键值)
case
……
显示刷新
}
欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/)
Powered by Discuz! X3.4