MSP430常用程序架構
主函數
{關閉看門狗設置系統時鐘顯示等外圍設備初始化定時器等內部資源初始化設置開全局中斷進入低功耗}中斷函數1{};中斷函數2{}文件組織形式
main.c
本文引用地址:http://www.104case.com/article/201611/322344.htm/***************************頭文件引用*******************************/#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 ……顯示刷新}
評論