void device_boot_msg(void) { uint8_t ctr; for(ctr=0;ctr<3;ctr++) { LED1_BLINK(); while(led_blink) // wait until LED released... ; delay_10ms(); LED2_BLINK(); while(led_blink) // wait until LED released... ; delay_10ms(); LED3_BLINK(); while(led_blink) // wait until LED released... ; delay_10ms(); LED2_BLINK(); while(led_blink) // wait until LED released... ; delay_10ms(); LED1_BLINK(); while(led_blink) // wait until LED released... ; delay_10ms(); } }
/*----------------------------------------------------------------------------*/ void rtc_fun(void) { MAIN_POWER_PORT_INIT(); MAIN_POWER_PORT_DISABLE(); iic_gpio_set_low(); amp_mute(1); if(alm_on_flag){ if(sys_main_vol != alrm_vol_bakup) sys_main_vol = alrm_vol_bakup; alm_on_flag = 0; } input_number_en = 0; vol_change_en=0; key_voice_en=0; main_menu = MENU_RTC; close_alarm(); dsp_set_eq_mode(0); //系统时钟div前需关闭eq SYSTEM_CLK_DIV4(); key_table_sel(0); flush_all_msg(); set_max_vol(MAX_ANOLOG_VOL,MAX_DIGITAL_VOL);///设置最大音量 dac_out_select(DAC_MUSIC, 0); rtc_mode_setting = RTC_DISPLAY; rtc_coordinate = 0; alm_coordinate = 0; if (alm_cnt) { put_msg_lifo(MSG_ALM_ON); } else { read_rtc(&curr_time); chk_date_err(); disp_port(MENU_RTC); } MAIN_POWER_PORT_INIT(); MAIN_POWER_PORT_DISABLE(); deal_rtc(); amp_mute(1); MAIN_POWER_PORT_ENABLE(); delay_10ms(3); key_voice_en=0; main_vol_set(0, CHANGE_VOL_NO_MEM); MAIN_POWER_PORT_ENABLE(); amp_mute(1); delay_10ms(80); snooze_en =0; PT2313_Init(); delay_10ms(10); PT2313_Init(); }
void configLCD(void){ char RS_list[6], DB_list[6], i=0; DISPLAY7_DIR = 0; DISPLAY_ENABLE_dir = 0; RS_dir = 0; RS_list[0] = 0; DB_list[0] = 0b00111000; RS_list[1] = 0; DB_list[1] = 1; RS_list[2] = 0; DB_list[2] = 2; RS_list[3] = 0; DB_list[3] = 6; RS_list[4] = 0; DB_list[4] = 15; RS_list[5] = 0; DB_list[5] = 0b10000000; for(i = 0;i < 6;i++){ DISPLAY_ENABLE = 1; RS = RS_list[i]; DISPLAY7 = DB_list[i]; delay_10ms(); DISPLAY_ENABLE = 0; delay_10ms(); } }
/*----------------------------------------------------------------------------*/ static void sys_info_init(void) { //u8 vol_tmp; #if 1 sys_main_vol = read_info(MEM_SYS_VOL); if ((sys_main_vol > MAX_MAIN_VOL) || (sys_main_vol == 0)) //每次开机时,不要超过最大音量的一半,以免开机音量过大 { sys_main_vol = 20; } #endif dac_init(sys_main_vol); delay_10ms(50); //等待,检测USB,SD在线状态 //init_rec_name(); //restore_music_point(); #if 0 #if RTC_ENABLE if (work_mode != RTC_MODE) #endif { device_check(); #if USB_DEVICE_ENABLE if (pc_connect) work_mode = USB_DEVICE_MODE; else if (udisk_connect || sdmmc_connect) work_mode = MUSIC_MODE; #else // if (udisk_connect || sdmmc_connect) // work_mode = MUSIC_MODE; #endif } #endif }
void radio_info_pre_init(void) { #ifdef FUNC_OFF_MP3_RADIO_MIXED clr_adc_band_protect(); delay_10ms(10); #endif if(radio_band.bCurBand>((sizeof(radio_freq_tab)/6)-1)){ radio_band.bCurBand = FM_MODE; } radio_band.wFreqUpLimit = radio_freq_tab[radio_band.bCurBand].MAX_FREQ; radio_band.wFreqDownLimit = radio_freq_tab[radio_band.bCurBand].MIN_FREQ; radio_band.bTuneStep = radio_freq_tab[radio_band.bCurBand].FREQ_STEP; #ifdef SAVE_BAND_FREQ_INFO radio_band.wFreq= read_radio_freq(radio_band.bCurBand); #endif if (radio_band.wFreq > radio_band.wFreqUpLimit) radio_band.wFreq = radio_band.wFreqDownLimit; if (radio_band.wFreq < radio_band.wFreqDownLimit) radio_band.wFreq =radio_band.wFreqDownLimit; disp_port(MENU_RADIO_MAIN); scan_mode = RADIO_SCAN_STOP; }
/*----------------------------------------------------------------------------*/ void rec_mic_fun(void) { #ifdef UART_ENABLE deg_str("encode \n"); #endif dac_mute_control(1,1); input_number_en = 0; //vol_change_en=1; main_menu = MENU_RECWORKING; disp_port(MENU_SCAN_DISK); delay_10ms(50); SYSTEM_CLK_DIV2(); encode_channel = REC_MIC; encode_vol = 7; key_table_sel(0); flush_all_msg(); if(RECODE_INIT == encode_status) { put_msg_lifo(MSG_REC_FIND); //put_msg_lifo(MSG_REC_START); } //put_msg_lifo(MSG_REC_START); set_max_vol(MAX_ANOLOG_VOL,MAX_DIGITAL_VOL);///设置最大音量 rec_mic_main(); dac_mute_control(0,0); break_encode(); lcd_clr_flash_icon(); }
void FMAM_Mode_Switch_Profile(u8 fm_wm) { if((fm_wm==SYS_FMREV)||(fm_wm==SYS_AMREV)){ } else{ work_mode = SYS_FMREV; } my_main_vol(0); if(fm_wm==SYS_FMREV){ //printf(" ----FM %x \r\n",(u16)fm_wm); radio_mode=1; FM_AM_chip_mode_sel(RADIO_FM); enter_fm_rev(); set_fre(frequency,1); Disp_Con(DISP_FREQ); } else if(fm_wm==SYS_AMREV){ //printf(" -----AM %x \r\n",(u16)fm_wm); radio_mode=0; FM_AM_chip_mode_sel(RADIO_AM); enter_am_rev(); set_fre(frequency,1); Disp_Con(DISP_FREQ); } delay_10ms(20); set_fre(frequency,1); my_main_vol(my_music_vol); }
void REDFLY::flush(void) { uint32_t timeout; #if defined(UBRRH) && defined(UBRRL) # define _UCSRB_ UCSRB # define _UDRIE_ UDRIE #else # define _UCSRB_ UCSR0B # define _UDRIE_ UDRIE0 #endif //clear tx buffer Serial.flush(); //clear rx buffer Serial.flush(); for(timeout=F_CPU/1024UL; ((_UCSRB_&(1<<UDRIE0)) || available()) && timeout; timeout--) { read(); } delay_10ms(1); return; }
void close_door(void) //Purpose: Closes the door. For our build, this means setting P1.3 high for atleast 3ms (the specified latching time for the relay) { P1|=0x08; //set P1.3 high delay_10ms(1); //wait 10ms P1&=0xF7; //set P1.3 Low }
void open_door(void) //Purpose: Opens the door. For our build, this means setting P1.2 high for atleast 3ms (the specified latching time for the relay) { P1|=0x04; //set P1.2 high delay_10ms(1); //wait 10ms P1&=0xFB; //set P1.2 low }
void iphone_func(void) { #if defined(K000_XingChuang_x821_V001) charger_iphone_ctrl(); #endif Mute_Ext_PA(MUTE); set_play_flash(LED_FLASH_ON); Disp_Con(DISP_IPOD); PT1 = 1; //timer1 interrupt 低优先级 flush_low_msg(); play_status = 0; set_max_vol(MAX_ANALOG_VOL, MAX_DIGITAL_VOL); //设置AUX模式的音量上限 sysclock_div2(1); #ifdef BLUETOOTH_GPIO_CTRL #ifndef SYS_BT_TURN_OFF_PWR_CHECK BT_PWR_OFF(); #endif #endif open_uart_ctrl(); ipone_hdlr(); #if defined(TURN_OFF_IPOD_WHEN_LEAVE_IPHONE_DOCK) delay_10ms(10); IPOD_STOP; delay_10ms(1); IPOD_RELEASE; delay_10ms(1); #endif close_uart_ctrl(); main_vol_set(0, CHANGE_VOL_NO_MEM); sys_clock_pll(); #if defined(USE_SPECTRUM_PARTTERN) set_lcd_flash_lock(UNLOCK); #endif #if defined(K000_XingChuang_x821_V001) wkup_pin_ctrl(0); #endif }
void disp_fm_find_station(void) { led_putchar('P',1); printf_num(fre_channel,2,2);//my_printf("%c P%02b%m", fre_channel, LED_FM_ICON); fm_rec_disp(); delay_10ms(50); }
void AD_Debug_func() { while(1){ printf("ad read value %x \r\n",(u16)((key_value))); //printf("ad read value %d \r\n",(u16)((key_value*33)/255)); delay_10ms(2); } }
/*----------------------------------------------------------------------------*/ void write_eerom(u16 addr,u8 dat) { u8 iic_addr=0,page=0; iic_addr=EEPROM_Addr_Align(addr); page =EEPROM_Addr_to_Page(addr); iic_write((0xa0|page),iic_addr,&dat,1); delay_10ms(2); }
/*----------------------------------------------------------------------------*/ void sys_power_down(void) { sys_printf("---sys_power_down"); Mute_Ext_PA(MUTE); delay_10ms(2); EA = 0; power_ctl(0); while (1); }
void idle_mode(void) { u8 key; //deg_str("idle_mode \n"); //dac_out_select(DAC_MUSIC, 0); //clear_all_event(); dac_mute_control(1,1); #ifdef PLAY_STATUS_LED_FUNC set_play_status_led_spark(PLED_OFF); #endif KT_AMFMStandby(); usb_suspend(); flush_all_msg(); disp_port(MENU_POWER_OFF); input_number_en=0; vol_change_en=0; #ifdef DEFAULT_VOL sys_main_vol=DEFAULT_VOL; #endif delay_10ms(20); #ifdef SYS_SOFT_WARE_GOIN_STANDBY if(sys_pwr_flag==0){ put_msg_fifo(MSG_SYS_CORE_SLEEP); } #endif while (1) { key = app_get_msg(); switch (key) { #ifdef SYS_SOFT_WARE_GOIN_STANDBY case MSG_SYS_CORE_SLEEP: core_power_off(); break; #endif case MSG_CHANGE_WORK_MODE: clear_all_event(); flush_all_msg(); return; case MSG_MUSIC_NEW_DEVICE_IN: //有新设备接入 break; default: ap_handle_hotkey(key); break; } } }
/*----------------------------------------------------------------------------*/ void disp_power_off(void) { #if ((monitor == DISP_LCD_12832) || (monitor == DISP_LCD_12864_SER) || (monitor == DISP_LCD_12864_PAR)) { my_printf(" %eOFF%o"); delay_10ms(50); } #elif(monitor == DISP_LED5X7) { my_printf("%c"); } #endif }
void Disp_Start(void) { #ifdef K619_FXK_619_V001 if(config_led_by_gpio==0){ dispstring(" SCH",0); } else{ dispstring(" HI",0); } #elif defined(DISP_HIFI_STR_AT_POWER_ON) dispstring("HIFI",0); #elif defined(K000_HG_898_V001)||defined(MP3_DISP_LOAD_STRING_AT_PWR_ON) dispstring("LOAd",0); #elif defined(K668_YJH_815_V001) dispstring("-HI-",0); #elif defined(K1069_AJE_1069_V001)||defined(DISP_HIFI_ANIMIATION_AT_PWR_ON)||defined(K1069_AJE_1069_V002) LED_STATUS = 0xFF; dispstring("BBBB",0); delay_10ms(20); LED_STATUS = 0x00; dispstring(" H",0); delay_10ms(20); dispstring(" HI",0); delay_10ms(20); dispstring(" HIF",0); delay_10ms(20); dispstring("HIFI",0); delay_10ms(20); #elif defined(K000_JR_210_V001) dispstring(" -- ",0); #else dispstring(" HI",0); #endif lcd_backlight_ctrl(1); }
int main(void) { // Initial STM32F4 MCU System SystemInit(); // Initial QCopterMV LED indicator LED_Config(); while(1) { LED_R = 0; LED_G = 1; LED_B = 1; delay_10ms(15); LED_R = 1; LED_G = 0; LED_B = 1; delay_10ms(15); LED_R = 1; LED_G = 1; LED_B = 0; delay_10ms(15); while(KEY) { LED_R = 0; LED_G = 0; LED_B = 0; delay_100ms(2); LED_R = 1; LED_G = 1; LED_B = 1; delay_100ms(2); } // END while KEY pressed } // END while } // END main
/*----------------------------------------------------------------------------*/ void disp_fm_find_station(void) { #if ((monitor == DISP_LCD_12832) || (monitor == DISP_LCD_12864_SER) || (monitor == DISP_LCD_12864_PAR)) { disp_fm_main(); } #elif(monitor == DISP_LED5X7) { disp_fm_main(); delay_10ms(50); } #endif }
void Disp_PwrOFF(void) { #if defined(K015_983_1_SW005_V001)||defined(K000_XinLei_LC2092_V006)||defined(DISP_OFF_STR_AT_PWR_DOWN) dispstring("OFF",0); delay_10ms(20); #elif defined(K000_JR_210_V001) dispstring(" -- ",0); #elif defined(K1069_AJE_1069_V001)||defined(DISP_OFF_ANIMIATION_AT_PWR_DOWN)||defined(K1069_AJE_1069_V002) dispstring(" O",0); delay_10ms(20); dispstring(" OF",0); delay_10ms(20); dispstring(" OFF",0); delay_10ms(20); #endif lcd_backlight_ctrl(0); disp_buf_clear(); }
void REDFLY::flush(void) { uint32_t ms; //clear tx buffer _SERIAL_.flush(); //clear rx buffer for(ms=millis(); ((_UCSRA_&(1<<_RXC_)) || available()) && ((millis()-ms) < 50);) //50ms { read(); } delay_10ms(1); return; }
void IR_Debug_func() { WDTCON |= BIT(7); while(1){ if(irda_state==32){ printf_u16(user_code,'C'); deg_str("\r\n"); printf_u16(irda_data,'D'); deg_str("\r\n"); delay_10ms(50); } } }
void delay_100ms(){ char i; for(i=0; i<9; i++) delay_10ms(); for(i=0; i<9; i++) delay_1ms(); for(i=0; i<49; i++); Nop(); Nop(); Nop(); Nop(); Nop(); Nop(); Nop(); Nop(); Nop(); Nop(); }
void blue_tooth_init(void) { #ifdef BLUETOOTH_GPIO_CTRL BT_PWR_PORT_INIT(); BT_RST_PORT_INIT(); BT_PWR_ON(); delay_10ms(10); #ifdef USE_BT_ACTIVATED_PIN BT_RST_ON(); //delay_10ms(100); ACTIVATED_PIN_cnt=20; //BT_RST_OFF(); #endif #endif }
/*----------------------------------------------------------------------------*/ static void sys_info_init(void) { sys_main_vol = read_info(MEM_VOL); if ((sys_main_vol > MAX_MAIN_VOL) || (sys_main_vol == 0)) //每次开机时,不要超过最大音量的一半,以免开机音量过大 { sys_main_vol = MAX_MAIN_VOL / 2; } sys_main_vol = MAX_MAIN_VOL / 2; dac_init(MAX_MAIN_VOL); dsp_set_adc_con((0x0070)); delay_10ms(200); //等待,检测USB,SD在线状态 init_rec_name(); restore_music_point(); #if 0 #if RTC_ENABLE if (work_mode != RTC_MODE) #endif { device_check(); #if USB_DEVICE_ENABLE if (pc_connect) work_mode = USB_DEVICE_MODE; else if (udisk_connect || sdmmc_connect) work_mode = MUSIC_MODE; #else if (udisk_connect || sdmmc_connect) work_mode = MUSIC_MODE; #endif else { work_mode = read_info(MEM_SYSMODE); if (work_mode > MAX_WORK_MODE) { work_mode = MUSIC_MODE; } } } #endif }
void EPPROM_TEST(void) { u16 addr=0,w_data=0,r_data=0; deg_str(" EPPROM_TEST START\n"); deg_str(" EPPROM_WRITE START \n"); #if 1 w_data = 0xA0; for(addr=0;addr<0x3FF;){ write_eerom(addr,w_data); printf_u16(w_data, 'W'); printf_u16(addr, 'A'); addr++; if((addr%0xFF)==0){ w_data++; deg_str(" W --------------- W \n"); } } deg_str(" EPPROM_WRITE END \n"); #endif deg_str(" EPPROM_READ ... \n"); for(addr=0;addr<0x3FF;){ r_data = read_eerom(addr); delay_10ms(2); #ifdef UART_ENABLE printf_u16(r_data, 'R'); printf_u16(addr, 'A'); #endif if((addr%0xFF)==0){ deg_str(" R --------------- R \n"); } addr++; } deg_str(" EPPROM_TEST END \n"); }
void sys_power_on_wait_for_powerkey(void) { u8 msg_key=0; u8 pwr_keyhold_timer=2,pwr_keyhold_sec=0; SYS_POWER_OFF(); LCD_BACKLIGHT_OFF(); while(1) { msg_key = app_get_msg(); switch(msg_key) { case MSG_POWER_HOLD: pwr_keyhold_timer=8; break; case MSG_HALF_SECOND: if(pwr_keyhold_timer>6){ pwr_keyhold_sec++; if(pwr_keyhold_sec==0){ SYS_POWER_ON(); return ; } } else{ pwr_keyhold_sec--; pwr_keyhold_timer--; if(pwr_keyhold_timer==0){ SYS_POWER_OFF(); disp_port(MENU_POWER_OFF); delay_10ms(12); //core_power_off(); while(1); } } break; default: break; } } }
void REDFLY::flush(void) { uint32_t ms; //clear tx buffer _SERIAL_.flush(); //clear rx buffer #if defined(__AVR__) for(ms=millis(); ((_UCSRA_&(1<<_RXC_)) || available()) && ((millis()-ms) < 50);) //50ms #else for(ms=millis(); available() && ((millis()-ms) < 50);) //50ms #endif { read(); } delay_10ms(1); return; }
void main(void){ char i=0, j, k=0; ADCON1 = 0x0f; PWMP = 79; //contador do timer conta ate 79 DUTYCYCLE = 0; LED_dir = 0; TIMER = 0b00000110; //seta o timer on e pre-scale 16 PWM_conf = 0b00001100; //seta a configuracao do PWN como PWM e os 2bits menos sig. como 0 while(1){ i = k? i-1 : i+1; k = i==0? 0 : (i==80 ? 1:k); DUTYCYCLE = i; delay_10ms(); } }