#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); } }