/* * 要想图片显示成功 * 需把字库拷贝到sd卡上,然后把sd卡插到开发板的卡槽上 */ int main(void) { LCD_Init(); LCD_Clear(0, 0, 240, 320, BACKGROUND); /* USART1 config */ //USART1_Config(); //printf("\r\n this is a fatfs test demo \r\n"); /* 初始化sd卡文件系统,因为汉字的字库放在了sd卡里面 */ Sd_fs_init(); /* 设置Lcd Gram 扫描方向为: 左上角 -> 右下角*/ //Lcd_GramScan( 1 ); LCD_DispStr(5, 5, (uint8_t *)"fatfs init success", RED); LCD_DispStr(5, 25, (uint8_t *)"insure the sdcard has insert......", RED); LCD_DispStrCH(50, 50, (uint8_t *)"野火开发板", RED); LCD_DispEnCh(5, 90, "Welcome to use 野火 ISO Stm32 开发板 bigo------", RED); /* 显示BMP图片 */ Lcd_show_bmp(0, 0,"/wildfire.bmp"); Lcd_show_bmp( 10,10,"/pic1.bmp"); Lcd_show_bmp( 170,0,"/pic2.bmp"); while(1); }
void LcdShow(void) { LCD_DispStr(10, 10, (uint8_t *)line1, RED); LCD_DispStr(10, 30, (uint8_t *)line2, RED); LCD_DispStr(10, 40, (uint8_t *)line3_state, RED); LCD_DispStr(10, 50, (uint8_t *)line4, RED); LCD_DispStr(10, 60, (uint8_t *)line5, RED); LCD_DispStr(10, 70, (uint8_t *)line6, RED); LCD_DispStr(10, 80, (uint8_t *)line7, RED); LCD_DispStr(10, 90, (uint8_t *)line8, RED); LCD_DispStr(10, 100, (uint8_t *)line9, RED); LCD_DispStr(10, 120, (uint8_t *)line10, RED); }
int main(void) { //int flag=0; USART1_Config(); NVIC_Configuration(); while(1){ LCD_DispStr(5, 5, (uint8_t *)"�����ϳ������", RED); if((Key_Scan(GPIOA,GPIO_Pin_0)== KEY_ON)){ printf("\r\n ˮ�������緽��, \r\n"); } Delay(0xFFFFF); if((Key_Scan(GPIOA,GPIO_Pin_0)== KEY_ON)){ printf("\r\n ɽɫ�՝�������. \r\n"); } Delay(0xFFFFF); if((Key_Scan(GPIOA,GPIO_Pin_0)== KEY_ON)){ printf("\r\n ��������������, \r\n"); } Delay(0xFFFFF); if((Key_Scan(GPIOA,GPIO_Pin_0)== KEY_ON)){ printf("\r\n ��ױŨĨ������. \r\n"); Delay(0xFFFFF); } } }
/* * 初始化液晶,串口,触摸屏,flash及sd卡 * */ void ISO_Init(void) { uint8_t k; /* 液晶初始化先于串口,不然会有bug,至于是什么原因我也不知道:( */ LCD_Init(); LCD_Clear(0,0,240,320,WHITE); LCD_DispStr(20,150,"board init,please wait... ",RED); USART1_Config(); /* 初始化sd卡文件系统,因为汉字的字库放在了sd卡里面 */ Sd_fs_init(); #ifdef WORD_MODE /* 显示界面图片 */ Lcd_show_bmp(0, 0,"/boardtest/boardtest.bmp"); #else /* 显示界面图片 */ Lcd_show_bmp(0, 0,"/boardtest/ISO/ui_boardtest.bmp"); #endif Lcd_List(1); /* 初始化外部FLASH */ SPI_FLASH_Init(); //SPI_FLASH_SectorErase(0); /* 触摸屏IO和中断初始化 */ Touch_Init(); /*-------------------------------------------------------------------------------------------------------*/ #if 1 SPI_FLASH_BufferRead(&cal_flag, 0, 1); if( cal_flag == 0x55 ) { SPI_FLASH_BufferRead((void*)cal_p, 1, sizeof(cal_p)); SPI_FLASH_CS_HIGH(); for( k=0; k<6; k++ ) printf("\r\n rx = %LF \r\n",cal_p[k]); } else { /* 等待触摸屏校正完毕 */ while(Touch_Calibrate() !=0); } #elif 0 /* 等待触摸屏校正完毕 */ while(Touch_Calibrate() !=0); #endif }
/** * @brief 主函数 * @param 无 * @retval 无 */ int main(void) { LCD_Init(); LCD_Clear(0, 0, 240, 320, BACKGROUND); LCD_DispChar(60, 60, 'A', RED); LCD_DispStr(10, 10, (uint8_t *)"This is a lcd demo to display ascii", RED); LCD_DispStr(40, 100, (uint8_t *)"count:", RED); for( n=0; n<500000; n++ ) { LCD_DisNum(100, 100, n, RED); Lcd_Delay(0xAFFf>>4); } while( 1 ){} }
int main(void) { GPIO_Config(); SYSTICK_Config(); LCD_Init(); ADC_Config(); USART_Config(); DAC_Mode_Init(); LCD_Clear(0, 0, 240, 320, BACKGROUND); LCD_DispStr(40, 60, (uint8_t*)"Iin_Base:", BLACK); LCD_DispStr(40, 90, (uint8_t*)"Iin_Phase:", BLACK); LCD_DispStr(40, 110, (uint8_t*)"Vin_Phase:", BLACK); LCD_DispStr(40, 140, (uint8_t*)"PF:", BLACK); // // Init_Iin(Iin); // Init_Vin(Vin); // // cr4_fft_256_stm32(Iin_FFT,Iin,NPT); // cr4_fft_256_stm32(Vin_FFT,Vin,NPT); // // GetPowerMag(Iin_Mag,Iin_FFT); // // BasePercent = GetBasePercent(Iin_Mag); // // Iin_Phase = GetPhase(Iin_FFT); // // Vin_Phase = GetPhase(Vin_FFT); // // PowerFactor = GetPFValue(BasePercent, Iin_Phase, Vin_Phase); // // LCD_DispADC(120, 60, BasePercent, BLACK); // LCD_DisNum(120, 90, (uint16_t)Iin_Phase, BLACK); // LCD_DisNum(120, 110, (uint16_t)Vin_Phase, BLACK); // LCD_DispADC(120, 140, PowerFactor, BLACK); while(1) { Vin_total=0; Iin_total=0; Iout_total=0; for(i=0;i<NPT;i++) { Vin[i]=ADCConvertedValue[i*5]; //Vin_total+=Vin[i]; Iin[i]=ADCConvertedValue[i*5+1]; //Iin_total+=Iin[i]; Iout[i]=ADCConvertedValue[i*5+2]; //Iout_total+=Iout[i]; } // Vin_total=Vin_total/256; // Iin_total=Iin_total/256; // Iout_total=Iout_total/256; // LCD_DisNum(120, 90, Vin_total, BLACK); // LCD_DisNum(120, 110, Iin_total, BLACK); // LCD_DisNum(120, 130, Iout_total, BLACK); cr4_fft_256_stm32(Iin_FFT,Iin,NPT); cr4_fft_256_stm32(Vin_FFT,Vin,NPT); GetPowerMag(Iin_Mag,Iin_FFT); BasePercent = GetBasePercent(Iin_Mag); Iin_Phase = GetPhase(Iin_FFT); Vin_Phase = GetPhase(Vin_FFT); PowerFactor = GetPFValue(BasePercent, Iin_Phase, Vin_Phase); LCD_DispADC(120, 60, BasePercent, BLACK); LCD_DisNum(120, 90, (uint16_t)Iin_Phase, BLACK); LCD_DisNum(120, 110, (uint16_t)Vin_Phase, BLACK); LCD_DispADC(120, 140, PowerFactor, BLACK); } } //main
/* * ISO 自动整板测试 */ void ISO_AutoTest(void) { uint32_t i=0x10ffff; uint8_t board_state = 1; uint8_t board_test = 0x55; /* 液晶初始化先于串口,不然会有bug,至于是什么原因我也不知道:( */ LCD_Init(); USART1_Config(); /* 初始化sd卡文件系统,因为汉字的字库放在了sd卡里面 */ Sd_fs_init(); LCD_Clear(0,0,240,320,WHITE); LCD_DispStr(50,10,"ISO board auto test ",BLUE); USART1_Config(); SysTick_Init(); /* LED 端口初始化 */ LED_GPIO_Config(); LED1_ON; LED2_ON; LED3_ON; /*按键*/ Key1_GPIO_Config(); Key2_GPIO_Config(); /* EEPROM测试 */ LCD_DispEnCh(20,40,"1.EEPROM 自检中",BLUE); /*-----------------------------------------------------------------------------------*/ if (EEPROM_AutoTest() == 0) //坏 { board_state = 0; LCD_DispEnCh(20,40,"1.EEPROM 检测失败!",RED); } else { LCD_DispEnCh(20,40,"1.EEPROM 检测通过!",BLUE); } /* FLASH 测试 */ LCD_DispEnCh(20,70,"2.FLASH 自检中",BLUE); if(FLASH_AutoTest() == 0) //坏 { board_state = 0; LCD_DispEnCh(20,70,"2.FLASH 检测失败!",RED); } else { LCD_DispEnCh(20,70,"2.FLASH 检测通过!",BLUE); } /* RTC测试 */ LCD_DispEnCh(20,100,"3.RTC 自检中",BLUE); if(RTC_AutoTest() == 0) //坏 { board_state = 0; LCD_DispEnCh(20,100,"3.RTC 检测失败!",RED); } else { LCD_DispEnCh(20,100,"3.RTC 检测通过!",BLUE); } /* FM测试 */ LCD_DispEnCh(20,130,"4.FM 自检中",BLUE); if(RDA5807_FM_AutoTest() == 0) //坏 { board_state = 0; LCD_DispEnCh(20,130,"4.FM检测失败!",RED); } else { LCD_DispEnCh(20,130,"4.FM检测通过",BLUE); } /* mp3 sd 喇叭测试 */ /* 关闭systick定时器 以免影响mp3播放效果*/ SysTick->CTRL &= ~ SysTick_CTRL_ENABLE_Msk; LCD_DispEnCh(20,160,"5.MP3及喇叭自检中",BLUE); if(MP3_AutoTest() == 0) //坏 { board_state = 0; LCD_DispEnCh(20,160,"5.sd 卡错误!!! ",RED); } else { LCD_DispEnCh(20,160,"5.请确认喇叭是否有声音",BLUE); } if(board_state == 0)// 测试不通过 { LCD_DispEnCh(20,220,"自检测试不通过!!!",RED); while(1); } /* 按键测试 */ LCD_DispEnCh(20,190,"6.请检查按键及led灯 ",BLUE); while(i--) { /* 按键测试 */ if( Key_Scan(GPIOA,GPIO_Pin_0) == KEY_ON) { key_state =~key_state; LED1_TOGGLE; LED2_TOGGLE; LED3_TOGGLE; } if( Key_Scan(GPIOC,GPIO_Pin_13)== KEY_ON) { key_state =~key_state; LED1_TOGGLE; LED2_TOGGLE; LED3_TOGGLE; } } ee_WriteBytes(&board_test,0,1); //自测成功,写入标记 Soft_Reset(); }