/**************************************************************************** * 名 称:main主程序 * 功 能:演示DAC12程序库 的使用 * 入口参数:无 * 出口参数:无 ****************************************************************************/ void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; ClkInit(); DAC12Init(3,5); //初始化 DAC12Cal(2); //校准 ADC12CTL0 = REF2_5V + REFON; //开启内部参考源 2.5v 必须有;以供DA使用 DAC12Out(2,0x666); }
/**************************************************************************** * 名 称:main主程序 * 功 能:测试TA PWM输出 * 入口参数:无 * 出口参数:无 ****************************************************************************/ void main() { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; ClkInit(); TAPwmInit('A',1,'P','P'); //将定时器TA初始化成为PWM发生器 //时钟源=ACLK ; 无分频; 通道1和通道2均设为高电平模式。 TAPwmSetPeriod(500); //通道1/2的PWM方波周期均设为500个时钟周期 TAPwmSetDuty(1,200); //1通道 有效200个时钟周期 TAPwmSetPermill(2,200); //2通道 20.0% LPM0; }
/**************************************************************************** * 名 称:main主程序 * 功 能:演示DAC12程序库 的使用 * 入口参数:无 * 出口参数:无 ****************************************************************************/ void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; ClkInit(); char channels[3]; channels[0] = SREF_1+INCH_0; channels[1] = SREF_1+INCH_1; channels[2] = SREF_1+INCH_2; ADC12Init(3,channels,1); _EINT(); ADC12Start(); LPM0; }
void PlatformInit(int argc, char *argv[]) { // Initialize System Clock ClkInit(); // Initialize Random number generator da15000RandomInit(); // Initialize Alarm da15000AlarmInit(); // Initialize Radio da15000RadioInit(); // enable interrupts portENABLE_INTERRUPTS(); (void)argc; (void)argv; }
void main() { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; ClkInit(); AD7708Init(0); //禁止斩波 1时启用斩波 _EINT(); //开中断,程序需要用到SPI的中断;冲突,可以更改SPI函数 while(1) //串口测试 { AD7708Start(0); a = AD7708ReadResultData(); //读取AD采样后的结果 //电压计算方法:a*1.024*2.5(参考电压)/65535 a = AD7708ReadRegister(0); //去状态值,此处函数不需要用 } }
int32_t main() { /*************************************************************************** * ClkInit() ****************************************************************************/ ClkInit(); /*************************************************************************** * GPIOInit(); ****************************************************************************/ // DrvGPIO_InitFunction(E_FUNC_GPIO); outpw(&SYS->P0_MFP, 0); outpw(&SYS->P1_MFP, 0); outpw(&SYS->P2_MFP, 0); outpw(&SYS->P3_MFP, 0); outpw(&SYS->P4_MFP, 0); _GPIO_SET_PIN_MODE(MODEM_ON_PORT, MODEM_ON_PIN, GPIO_PMD_OUTPUT); ModuleOn(TRUE); _GPIO_SET_PIN_MODE(MODEM_POWER_PORT, MODEM_POWER_PIN, GPIO_PMD_OUTPUT); ModulePowerOn(FALSE); _GPIO_SET_PIN_MODE(LOCK_POWER_PORT, LOCK_POWER_PIN, GPIO_PMD_OUTPUT); LockPower(FALSE); _GPIO_SET_PIN_MODE(KEY_HELP_PORT, KEY_HELP_PIN, GPIO_PMD_QUASI); _GPIO_SET_PIN_MODE(KEY_BAT_PORT, KEY_BAT_PIN, GPIO_PMD_QUASI); _GPIO_SET_PIN_MODE(SLEEP_PORT, SLEEP_PIN, GPIO_PMD_OUTPUT); ModemSleep(FALSE); _GPIO_SET_PIN_MODE(LED_PORT, LED_PIN, GPIO_PMD_OUTPUT); LedDark(); _GPIO_SET_PIN_MODE(INT_PORT, INT_PIN, GPIO_PMD_INPUT); /*************************************************************************** * TimerInit(); ****************************************************************************/ SysTick_Config(SYS_TICK); // SYS_LockReg(); /*************************************************************************** * UartInit(); ****************************************************************************/ UartInit(); // debug(VERSION); // DrvSYS_GetPLLClockFreq(); /*************************************************************************** * WatchdogInit(); ****************************************************************************/ WatchdogInit(); // udpTest(); NvInit(); WhatToDo(); AdcInit(); WaitLockPower(); LockPower(!custermParam.param.lockState); InitMsgDebug(); if( Communication(10) == FALSE ) SoftReset(); if( isCheckingBattery ) { delay_50ms(40); MeasurePower(4); } else { MeasurePower(2); } Flag_ModuleOn = TRUE; //Flag_ModuleOn = TRUE; ModemVolumeInit(); ///--------------------24.11.2015---------------------------------------------- //////////////////////////////////////////////////////////////////////////////////////// while(PressHelp()&&(tmp_my<200)&&(PressBatter())){ tmp_my++; delay_50ms(1); if (tmp_my>=150) { LedLight(144); if (custermParam.param.lockState) { LockPower(TRUE); custermParam.param.lockState = FALSE; WriteToNv( &custermParam ); //- save to eeprom PlayVoice("\"unitUnlock.wav\",2\r"); delay_ms(2000); LockPower(FALSE); } else { // debug("ins"); while(PressBatter()){}; tmp_my=0; while (tmp_my<25){ tmp_my++; delay_ms(150); if (PressBatter()){counterPress++; while(!PressBatter()){}; } if (counterPress>2){ PlayVoice("\"unitLock.wav\",2\r"); delay_ms(2000); custermParam.param.lockState = TRUE; WriteToNv( &custermParam ); //- save to eeprom tmp_my=0; delay_ms(2000); LockPower(DISABLE); } } LedBlink(); } /////// tmp_my=0; } } while(custermParam.param.lockState){} /////////////////////////////////////////////////////////////////////////////////////////////// #ifdef DELAY_TEST DelayTest(); #endif PowerOn(); if(state==STATE_POWERING_DOWN || Flag_Power_Down) { Flag_Power_Down = FALSE; EnterPowerDown(); while( TimerWait ) FeedWatchdog(); PowerDown(); //不会返回 } InitVariables(); if(state == STATE_NULL) { state = STATE_1ST_CALL; TimerWait = 100; // 5 s } TimerTestMode = 6000; //debug("ent main loop"); while(1) { ///-------------------- if (!TimerTestMode && state==STATE_TEST) { PlayMusic(MUSIC_PD); EnterPowerDown(); } ///-------------------- if( Flag_Incomming ) { #if 1 TimerWait = 200; Flag_Incomming = FALSE; TimerStandby = custermParam.param.delay; //if(state != STATE_ACTIVE) { ModemSleep(FALSE); state = STATE_INCOMMING; } #else Flag_Incomming = FALSE; if(state != STATE_INCOMMING) { state = STATE_INCOMMING; ModemSleep(FALSE); EnterAnswer(); } #endif } if(TimerWait == 0) { switch(state) { case STATE_POWERING_DOWN: PowerDown(); break; case STATE_1ST_CALL: RegisterWait(); break; case STATE_REGISTER_OK: GetCpsiInfo(); if( Flag_ObtainCpsi==TRUE) { state = STATE_GSM_STEADY; if( Flag_SimExist ) { //delay_50ms(200); SockOpen(); TimerWait = 400; } else { TimerWait = 60; } } else { TimerWait = 70; } break; case STATE_GSM_STEADY: if( gPhoneNumOk==PHONE_NUM_READY || Flag_SimExist==FALSE) EnterCall(); else TimerWait = 40; break; case STATE_CALL_PROMPT: Call(); break; case STATE_ALERT: EnterCallFail(); break; case STATE_NEXT_CALL: Redial(); break; case STATE_BATT_DISPLAY: EnterPowerDown(); break; case STATE_INCOMMING: TimerStandby = custermParam.param.delay; EnterStandby(); break; } } if( TimerSock==0 && Flag_SimExist && ( (state>=STATE_GSM_STEADY && state<STATE_STANDBY) || progress>=TEST_GPS ) ) { switch(sockState) { //case SOCKSTATE_NULL: case SOCKSTATE_CONFIG: case SOCKSTATE_OPENNING: SockOpen(); // 打开失败,从新打开 break; case SOCKSTATE_OPENED: SendAtWaitRsq(50, 1, FALSE, "AT+CIPOPEN=0,\"UDP\",,,%s\r\n", custermParam.param.local_port); TimerSock = 80; break; #if 0 case SOCKSTATE_CONNECTING: SockConnect(); // 连接失败,从新连接 break; #endif case SOCKSTATE_CONNECT_OK: if( witchApn == 1) ClientInit(); break; default: break; } } KeyHandle(); SecondHandle(); //SignalCheck(); BatterCheck(); PowerDownHandle(); MsgHandle(); if( Flag_SimExist ) { UdpHandle(); SmsHandle(); PowerDownHandle(); } FeedWatchdog(); } }