?? main.c
字號:
//===============================================================
//
// The information contained herein is the exclusive property of
// Sunplus Technology Co. And shall not be distributed, reproduced,
// or disclosed in whole in part without prior written permission.
//
// (C) COPYRIGHT 2004 SUNPLUS TECHNOLOGY CO.
// ALL RIGHTS RESERVED
//
// The entire notice above must be reproduced on all authorized copies.
//
//==============================================================
//============================================================
// project name: 20HzOut.scs
// Author: xinqiang (email: xinqiang@sunnorth.com.cn)
// Tel: 010-62981668-xxxx
// Applied body: SPCE061A
// Project Description: flash erase and write driver
//
// System Description: PC with CPU 233MHz,128MB RAM,
// SUNPLUS u'nSP IDE 1.8.4(or later)
//
// Library:(a) sacmv26.lib
// (b)
//
// Files List:
// main.c
// Flash.asm/hardware.asm
// hardware.h/hardware.inc
//
// Current Version: V1.3
// Date: 2005-8-9
//
// Reference:
// Version history:V1.0 2004-7-13
// V1.2 2005-6-7
//--------------------------------------------------------------------------------------------------------
// Version YYYY-MM-DD-INDEX Modified By Description
//
//===============================================================
//============================================================
// 工程名稱:? 20HzOut.scs
// 作者: xinqiang (email: xinqiang@sunnorth.com.cn)
// 聯系方式:? 010-62981668-xxxx
// 適應芯片: SPCE061A
// 實現功能: flash erase and write driver
//
// 系統要求: PC with CPU 233MHz,128MB RAM,
// SUNPLUS u'nSP IDE 1.8.4(or later)
//
// 涉及的庫:(a) sacmv26.lib
// (b)
//
// 組成文件:
// main.c
// Flash.asm/hardware.asm
// hardware.h/hardware.inc
//
// 當前版本: V1.3
// 日期: 2005-8-9
//
// 參考文件:
// 維護記錄:
//--------------------------------------------------------------------------------------------------------
// Version YYYY-MM-DD-INDEX Modified By Description
//
//===============================================
///////////////////////////////////////////////////////////////////////////////
//文件名稱: main.c
//描述: 超聲波測距Demo的主程序,本程序用于模配合模組中測距模式選擇為短距測量時用
// 即J1 COMLINE跳線接在LOW 選擇模組工作在短距測距模式下
// IOB2--BACK_PLUS IOB2口為外部中斷輸入口,檢測回波脈沖
// IOB4--PLUS_EN1 IOB4設為輸出口,以控制模組發射40KHz方波
//
// 模組上J2跳線接上
// J9 Power接口的跳線接在5V一端
//========================================================================================
#define P_INT_Ctrl_New (volatile unsigned int *)0x702d
#define P_Watchdog_Clear (volatile unsigned int *)0x7012
#define M_KEY_ENTER 0x0001 //按鍵 進行一次測量
//for Key
extern void F_Key_Scan_Initial(void);
extern void F_Key_Scan_ServiceLoop(void);
extern unsigned int SP_GetCh(void);
//......end
//for Measure
extern void InitMeasure(void);
extern unsigned int BeginMeasure(void);
extern void ErrorOS(void);
//..end
extern void Speech_Result(unsigned int uiResult);
int main()
{
unsigned int uiKey_Data;
unsigned int Back_Data; //測量返回數值
__asm("INT OFF");
InitMeasure(); //測量初始化
F_Key_Scan_Initial(); //鍵盤初始化
uiKey_Data = 0;
//主循環 等待中斷
while(1)
{
uiKey_Data = SP_GetCh(); //獲取鍵值,直接返回,無延時
switch(uiKey_Data) //掃鍵,根據按鍵值進入不同的操作
{
case M_KEY_ENTER:
Back_Data = BeginMeasure();
if(Back_Data==0) //返回值為零時則進入出錯處理
{
ErrorOS();
}
else
{ //測回正確數據,播報
Speech_Result(Back_Data);
}
break; //
case 2: break;
case 3: break;
default: break;
}
F_Key_Scan_ServiceLoop(); //后臺掃鍵的循環服務程序
*P_Watchdog_Clear = 0x0001; //清看門狗
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -