📄 main.c
字号:
// This program shows how to work with ADC convertor
// Press Button 1 -> Send UART0 -> current temperature
// Press Button 2 -> Send UART0 -> current voltage on potentialometer
#define __SYS__INIT__
#include "AT91SAM7S128.h"
#include "stdio.h"
#include "usart.h"
#include "adc.h"
#include "system.h"
#include "string.h"
#include "crc.h"
#include "vars.h"
extern AT91PS_PIO m_pPio;
AT91PS_ADC m_pADC = AT91C_BASE_ADC;
AT91PS_RSTC m_pRSTC = AT91C_BASE_RSTC;
unsigned long Alive_counter;
void Delay (unsigned long a) { while (--a!=0); } // 延时函数
//unsigned char* CalcTemp(unsigned int temp);
//unsigned char* CalcVolt(unsigned int volt);
//unsigned char res[12];
unsigned char Alive_msg[3]={0x00,0x20,0x00};
unsigned char debug_msg[12]={0x03,0x09,0x0,0x04,0x00,0x00,0x11,0x00,0x01,0x02,0x03,0x04};
void init_rest()
{
m_pRSTC->RSTC_RMR=0xa5000000+AT91C_RSTC_URSTEN+AT91C_RSTC_ERSTL; //使能用户重启
}
void init_cfg()
{
int i;
for(i=0;i<MAX_CONF_NUM;i++)
{
v_cfg_data[i].no=CONF_NO[i];
v_cfg_data[i].len=CONF_LEN[i];
}
}
unsigned char recv_triger; //for debug^^^^^^^^^^^^^^^^^for debug
int main() {
unsigned int i;
InitFrec(); // 系统初始化
InitADC();
InitUSART0(); // 串行口UART初始化
InitPeriphery(); // 外围初始化
init_rest(); //复位系统初始化
init_cfg();
while(1) { // 主循环
recv_msg();
send_msg_USART0();
if(Alive_counter++>600000)
{
Alive_msg[2]=v_counter;
load_msg(Alive_msg,3);
//load_msg(debug_msg,12);
v_counter++;
}
if(v_alarmsim_counter==0)
{
v_alarm_sim[0]=0;
v_alarm_sim[1]=0;
}
if(i++>20000)
{ i=0;
recv_triger=1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -