?? main.c
字號:
/*------------------------------------------------------------
FILE NAME : main.c
DESCRIPTION : main function of bs1084 arm firmware.
VERSION : 0.0.1 (c)aureole
AUTHOR : Aureole
CREATE DATE : 07.17.2006
MODIFY DATE : 00.00.2006
LOGS :---\
-0.1.0 ----. 04.20.2006
-0.1.1 ----. 07.18.2006 transplant for keil Arm compiler.
--------------------------------------------------------------*/
//--------------------Include files-----------------------//
#include "..\include\config.h"
#include "..\include\main.h"
#include "..\include\ltc2600.h"
#include "..\include\spi.h"
#include "..\include\ad9958.h"
#include "..\include\common.h"
#include "..\include\my_lib.h"
#include "..\include\uart.h"
#include "..\include\timer.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//-------------------Variable ----------------------------//
ARM_PORT p0,p1;
WAVEFORM_STRUCT parameter[2]={
{
WAVEFORM_SINE,
DEFAULT_FREQUENCY,
DEFAULT_AMPLITUDE,
(float)0.0
},
{
WAVEFORM_SINE,
DEFAULT_FREQUENCY,
DEFAULT_AMPLITUDE,
(float)0.0
}
};
unsigned int channel=0;
char buffer[BUFFER_SIZE]; //buffer
//-------------------Function prototype-------------------//
void initialize_system(void);
void set_relay(void);
/*--------------------------------------------------------
NAME : main
ENTRY TYPE: void
RETURN TYPE: void
PURPOSE : ---
VERSION : 0.1
DESCRIPTION:
CREATE DATE: 3.30.2006
LOGS : 1.first create;
---------------------------------------------------------*/
int main(void)
{
unsigned char feedback=0,command_ready=0;
double temp=0;
int j=0;
initialize_system();
while(1){
//command receive and feedback;
if(uart0_receive_ok_flag){
uart0_receive_ok_flag=FALSE;
if(!feedback){
if(!strcmp(receive_buffer,"ERROR\r\n"))goto aa;
feedback=TRUE;
strcpy(buffer,receive_buffer);
send_string_to_uart0(receive_buffer);
clear_receive_buffer();
aa:;
}else{
if(!strcmp(receive_buffer,"OK\r\n"))command_ready=1;
feedback=FALSE;
}
}
//command interpret
if(command_ready){
command_ready=FALSE;
if(!strncmp(buffer,"FREQ",4)){
temp=__atof(buffer+5);
set_frequency(CHANNEL_A_B,temp);
}
}
if(j++==100000){
LED_ON
send_string_to_uart1("Hello I'm Vector");
};
if(j==200000){
LED_OFF
j=0;
};
}
}
/*--------------------------------------------------------
NAME : initialize_system
ENTRY TYPE: void
RETURN TYPE: void
PURPOSE : ---
VERSION : 0.1
DESCRIPTION:
CREATE DATE: 4.5.2006
LOGS : 1.first create;
---------------------------------------------------------*/
void initialize_system(void)
{
unsigned long int i;
initialize_ltc2600();
set_sine_ac_zero(cal_a.sine_ac_zero,cal_b.sine_ac_zero);
set_squa_ac_zero(cal_a.squa_ac_zero,cal_b.squa_ac_zero);
initialize_led();
LED_ON;
for(i=0;i<800000;i++); //power on delay;
initialize_master_spi();
initialize_ad9958();
set_frequency(CHANNEL_A,8000000.0);
set_frequency(CHANNEL_B,8000000.0);
set_phase(CHANNEL_A,0.0);
LED_OFF;
IO0DIR|=(1<<16);
IO0DIR|=(1<<17);
p0.bits.bit16=1;
p0.bits.bit17=1;
IO0PIN=p0.value;
set_amplitude(CHANNEL_A,parameter[0].waveform,20.0);
set_amplitude(CHANNEL_B,parameter[1].waveform,20.0);
initialize_uart0();
initialize_uart1();
initialize_timer0();
enable_timer0();
}
/*--------------------------------------------------------
NAME : clear_buffer
ENTRY TYPE: void
RETURN TYPE: void
PURPOSE : ---
VERSION : 0.1
DESCRIPTION:
CREATE DATE: 4.8.2006
LOGS : 1.first create;
---------------------------------------------------------*/
void clear_buffer(void)
{
memset(buffer,0,BUFFER_SIZE);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -