|
|
|
#include "main.h"
|
|
|
|
#include "asp_lowpower.h"
|
|
|
|
|
|
|
|
void L0_RTC_init(void)
|
|
|
|
{
|
|
|
|
P_SW2 = 0x80;
|
|
|
|
// XOSCCR =0;
|
|
|
|
///HIRCCR = 0;
|
|
|
|
IRC32KCR = 0x80; //启动内部32K IRC
|
|
|
|
while (!(IRC32KCR & 1)); //等待时钟稳定
|
|
|
|
CLKDIV = 0x00; //时钟不分频
|
|
|
|
/// CLKSEL = 0x03; //选择内部32K
|
|
|
|
|
|
|
|
RTCCFG = 3;
|
|
|
|
///RTCCFG |= 0x02; //选择内部 32K 作为 RTC 时钟源 RTCCFG | = 0x02; / / Select internal 32K as RTC, clock source
|
|
|
|
RTCCR = 1;
|
|
|
|
printf3("\r\n %X %X:%X",(int)(DAY), (int)(MIN), (int)(SEC));
|
|
|
|
|
|
|
|
D_stdIO_P2(BITN4);D_P24_REV();
|
|
|
|
Lc_delay_ms(500);
|
|
|
|
|
|
|
|
printf3("\r\n %X %X:%X",(int)(DAY), (int)(MIN), (int)(SEC));
|
|
|
|
Lc_delay_ms(200);D_stdIO_P2(BITN4);D_P24_REV();
|
|
|
|
Lc_delay_ms(500);
|
|
|
|
printf3("\r\n %X %X:%X",(int)(DAY), (int)(MIN), (int)(SEC));
|
|
|
|
Lc_delay_ms(200);D_stdIO_P2(BITN4);D_P24_REV();
|
|
|
|
Lc_delay_ms(500);
|
|
|
|
printf3("\r\n %X %X:%X",(int)(DAY), (int)(MIN), (int)(SEC));
|
|
|
|
Lc_delay_ms(200);
|
|
|
|
}
|
|
|
|
|
|
|
|
void L0_main_initled(void)
|
|
|
|
{
|
|
|
|
D_LED1_OFF();
|
|
|
|
|
|
|
|
D_LED2_ON();
|
|
|
|
|
|
|
|
TTSS_run_times(6)
|
|
|
|
{
|
|
|
|
D_LED1_REV();
|
|
|
|
D_LED2_REV();
|
|
|
|
Lc_delay_ms(300);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void L0_main_init(void)
|
|
|
|
{
|
|
|
|
int r = 0;
|
|
|
|
Lc_delay_ms(200);
|
|
|
|
L0_main_initled(); //指示灯
|
|
|
|
CLKDIV = 0; //不分频,使用focs
|
|
|
|
|
|
|
|
L0_uart1_open(); //打开串口1
|
|
|
|
L0_uart2_open(); //打开串口2
|
|
|
|
|
|
|
|
L3_debug_drv_init(); //未调用
|
|
|
|
L1_task_tick_init(); //TTSS-tick初始化
|
|
|
|
L0_timer0_Init(); //定时器0初始化
|
|
|
|
ET0 = 1; //允许定时器中断T0
|
|
|
|
|
|
|
|
printf1("\r\nD_sys_MainFre %ld",D_sys_MainFre);
|
|
|
|
|
|
|
|
r = L3_S_init();
|
|
|
|
printf1("\r\nL3_S_init %d",r);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TS_adc_SPara_ TS_adc_SPara[D_ADC_CHANNEL_NUM]=
|
|
|
|
{
|
|
|
|
'A', //0 1 u8 rev1;
|
|
|
|
0, //2 3 u8 ch;
|
|
|
|
D_ch1_wantline, //vU16 wantline; ///固定的硬件参数(例如称重中的0kg,压力中的0压力)时想要输出的adc的值
|
|
|
|
D_ch1_out1_offset, //3 4 vU16 offset;
|
|
|
|
2, //4 5 vU8 ashift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
5, //5 6 vU8 bshift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
|
|
'A', //0 1 u8 rev1;
|
|
|
|
1, //2 3 u8 ch;
|
|
|
|
D_ch1_wantline, //vU16 wantline; ///固定的硬件参数(例如称重中的0kg,压力中的0压力)时想要输出的adc的值
|
|
|
|
D_ch2_out1_offset, //3 4 vU16 offset;
|
|
|
|
2, //4 5 vU8 ashift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
5, //5 6 vU8 bshift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
|
|
'A', //0 1 u8 rev1;
|
|
|
|
2, //2 3 u8 ch;
|
|
|
|
D_ch1_wantline, //vU16 wantline; ///固定的硬件参数(例如称重中的0kg,压力中的0压力)时想要输出的adc的值
|
|
|
|
D_ch3_out1_offset, //3 4 vU16 offset;
|
|
|
|
2, //4 5 vU8 ashift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
5, //5 6 vU8 bshift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
|
|
|
|
|
|
'A', //0 1 u8 rev1;
|
|
|
|
3, //2 3 u8 ch;
|
|
|
|
D_ch1_wantline, //vU16 wantline; ///固定的硬件参数(例如称重中的0kg,压力中的0压力)时想要输出的adc的值
|
|
|
|
D_ch4_out1_offset, //3 4 vU16 offset;
|
|
|
|
2, //4 5 vU8 ashift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
5 //5 6 vU8 bshift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
//===============================================
|
|
|
|
//主函数
|
|
|
|
//===============================================
|
|
|
|
void main(void)
|
|
|
|
{
|
|
|
|
|
|
|
|
u16 a= 0;
|
|
|
|
char d[9]={0xab};
|
|
|
|
|
|
|
|
L0_main_init();
|
|
|
|
|
|
|
|
L3_task_weight_init();
|
|
|
|
|
|
|
|
TTSS_run_every_init(s_nos_tick.stamp,10);
|
|
|
|
|
|
|
|
printfs("\r\3 main while13\r\n");
|
|
|
|
|
|
|
|
while(1)
|
|
|
|
{
|
|
|
|
if(1 == s_nos_tick.t1s_heartbeat)
|
|
|
|
{
|
|
|
|
s_nos_tick.t1s_heartbeat = 0;
|
|
|
|
// L1_uartD_uc('.');
|
|
|
|
D_LED1_REV();
|
|
|
|
// L0_uart2_uc('Q');
|
|
|
|
// L0_uart2_0d0a();
|
|
|
|
// L0_uart2_ul(0XAABBCCDD);
|
|
|
|
// L0_uart1_ul(0XAABBCCDD);
|
|
|
|
// L0_uart2_0d0a();
|
|
|
|
}
|
|
|
|
|
|
|
|
if(L2_debug_ONcomand())
|
|
|
|
{
|
|
|
|
L3_weight_ONdebug(D_cmd_filter_weight);
|
|
|
|
}
|
|
|
|
L3_task_weight_handler(&tst_weight);
|
|
|
|
|
|
|
|
// L0_uart1_us(0x1234);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|