/*====================================================================================================*/ int main( void ) { int32_t Temp = 0; GPIO_Config(); TEMP_Config(); RS232_Config(); Delay_1ms(1); RS232_SendStr("\r\nHello World!\r\n\r\n"); while(1) { LED_1_Toggle(); LED_2_Toggle(); LED_3_Toggle(); LED_4_Toggle(); Delay_100ms(5); RS232_SendStr("Chip Temp : "); Temp = (TEMP_GetTemp()*25); RS232_SendNum(Type_D, 5, Temp); RS232_SendStr(" deg\r\n"); } }
/****************************************************************************** * @Function RS232_Config * @Brief Config RS232 at STM32F4 USART3: * BaudRate 9600 * WordLength 8-bits * StopBits 1 * HardwareFlowControl None * Mode Tx & Rx * **/ void RS232_Config( void ) { GPIO_InitTypeDef GPIO_InitStruct; USART_InitTypeDef USART_InitStruct; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2); GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2); /* USART3 Tx PA2 */ /* USART3 Rx PA3 */ GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStruct.GPIO_OType = GPIO_OType_PP; GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStruct); USART_InitStruct.USART_BaudRate = 9600; USART_InitStruct.USART_WordLength = USART_WordLength_8b; USART_InitStruct.USART_StopBits = USART_StopBits_1; USART_InitStruct.USART_Parity = USART_Parity_No; USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStruct.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART2, &USART_InitStruct); USART_Cmd(USART2, ENABLE); // initial at line one column 1 RS232_SendStr(USART2, (u8*) "\r"); }
/*====================================================================================================*/ int main( void ) { static uint8_t i = 0; static uint8_t RecvData = 0; static int8_t State = ERROR; GPIO_Config(); RS232_Config(); LED_R = 0; printf("\r\nHello World!\r\n\r\n"); while(1) { LED_G = !LED_G; State = RS232_RecvDataWTO((int8_t*)&RecvData, 1, 200); if(State == ERROR) { printf("Timeout ... %d\r\n", i); i = (i == 255) ? 0 : i + 1; } else if(RecvData == 0x0D) // if press enter RS232_SendStr((int8_t*)"\r\n"); else RS232_SendData((int8_t*)&RecvData, 1); } }
/*====================================================================================================*/ void UART0_IRQHandler( void ) { u8 RecvData = 0; RS232_RecvByte(&RecvData); if(RecvData == 0x0D) RS232_SendStr((u8*)"\r\n"); else RS232_SendByte(RecvData); }
/*=====================================================================================================*/ int main( void ) { SystemInit(); GPIO_Config(); ADC_Config(); RS232_Config(); while(1) { LED_G = ~LED_G; ADC_Average(ADC_AveTr); RS232_SendStr(USART3, (u8*)"ADC_1 = "); RS232_SendNum(USART3, Type_D, 5, ADC_AveTr[0]); RS232_SendStr(USART3, (u8*)"\r\n"); RS232_SendStr(USART3, (u8*)"ADC_2 = "); RS232_SendNum(USART3, Type_D, 5, ADC_AveTr[1]); RS232_SendStr(USART3, (u8*)"\r\n\r\n"); } }
/*====================================================================================================*/ void USART1_IRQHandler( void ) { uint8_t RecvData = 0; if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) { RecvData = RS232_RecvByte(); if(RecvData == 0x0D) RS232_SendStr((int8_t*)"\r\n"); else RS232_SendByte(RecvData); } USART_ClearFlag(USART1, USART_IT_RXNE); }
/*=====================================================================================================*/ int main( void ) { u16 ADC_AVE[2] = {0}; SystemInit(); GPIO_Config(); ADC_Config(); RS232_Config(); while(1) { LED_G = !LED_G; Delay_100ms(1); ADC_Average(ADC_AVE, 128); RS232_SendStr((u8*)"\f"); RS232_SendStr((u8*)"ADC_I = "); RS232_SendNum(Type_D, 4, ADC_AVE[0]); RS232_SendStr((u8*)"\r\n"); RS232_SendStr((u8*)"ADC_V = "); RS232_SendNum(Type_D, 4, ADC_AVE[1]); RS232_SendStr((u8*)"\r\n"); } }
/*====================================================================================================*/ int main( void ) { u8 i = 0; SystemInit(); GPIO_Config(); RS232_Config(); while(1) { LED = !LED; i++; RS232_SendStr((u8*)"i = "); RS232_SendNum(Type_D, 3, i); RS232_SendStr((u8*)"\r\n"); if(i==255) i = 0; Delay_100ms(1); } }
void NRF_FTLR( void ) // First Tx Last Rx { u8 i = 0; u8 Sta = ERROR; static u8 FSM_STA = 0; switch(FSM_STA) { /************************** FSM Tx **************************************/ case 0: // FSM_Tx // 資料寫入 TX BUF for(i=0; i<32; i++) { TxBuf[i] = RxBuf[i] + i; if(TxBuf[i]>220) TxBuf[i] = 0; } do { Sta = NRF_TxPacket(TxBuf); } while(Sta == NRF_STA_MAX_RT); // FSM_Tx End FSM_STA = 1; break; /************************** FSM Rx **************************************/ case 1: // FSM_Rx NRF_RX_Mode(); Sta = NRF_RxPacket(RxBuf); if(Sta == NRF_STA_RX_DR) { LED_B = !LED_B; } // FSM_Rx End FSM_STA = 2; break; /************************** FSM USART **************************************/ case 2: // FSM_USART Delay_10ms(20); RS232_SendStr((u8*)"\f"); RS232_SendStr((u8*)"***NRF_MODE_FTLR\r\n"); for(i=0; i<32; i++) { RS232_SendStr((u8*)"RxBuf["); RS232_SendNum(Type_D, 2, i); RS232_SendStr((u8*)"] = "); RS232_SendNum(Type_D, 3, TxBuf[i]); RS232_SendStr((u8*)"\r\n"); } RS232_SendStr((u8*)"\r\n"); // FSM_USART End FSM_STA = 0; break; } }
/*====================================================================================================*/ int main( void ) { GPIO_Config(); RS232_Config(); Delay_1ms(1); RS232_SendStr("\r\nHello World!\r\n\r\n"); while(1) { LED_1_Toggle(); LED_2_Toggle(); LED_3_Toggle(); LED_4_Toggle(); Delay_100ms(5); } }
int main( void ) { u32 i = 0; u8 FileNum = 0; u8 ReadBuf[128] = {0}; u8 WriteData[50] = "ABCDEFG"; SystemInit(); GPIO_Config(); RS232_Config(); R61581_Config(); R61581_Init(); LED_R = 1; LED_G = 1; LED_B = 1; LED_Y = 1; LED_R = 0; LCD_Clear(BLACK); // SD Card Init Info #define Axis_X 10 #define Axis_Y 0 LCD_PutStr(Axis_X, Axis_Y+16*0, (u8*)"-----------------------", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*1, (u8*)" SDIO SD Fatfs demo", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*2, (u8*)"-----------------------", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*3, (u8*)" SD Init ... ", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)" \r\n"); RS232_SendStr(USART2, (u8*)"----------------------\r\n"); RS232_SendStr(USART2, (u8*)"----------------------\r\n"); RS232_SendStr(USART2, (u8*)" SDIO SD FatFs demo\r\n"); RS232_SendStr(USART2, (u8*)"----------------------\r\n"); RS232_SendStr(USART2, (u8*)"----------------------\r\n\r\n"); RS232_SendStr(USART2, (u8*)" SD Init ... "); while(SD_Init() != SD_OK) { LCD_PutStr(Axis_X+8*13, Axis_Y+16*3, (u8*)"Failed!!", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"Failed!!\r\n"); while(1) { LED_R = ~LED_R; Delay_100ms(2); } } LCD_PutStr(Axis_X+8*13, Axis_Y+16*3, (u8*)"OK!!", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"OK!!\r\n\r\n"); LCD_PutStr(Axis_X, Axis_Y+16*5, (u8*)"---- SD Init Info -----", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*6, (u8*)" Capacity : ", ASCII1608, WHITE, BLACK); LCD_PutNum(Axis_X+8*12, Axis_Y+16*6, Type_D, 5, SDCardInfo.CardCapacity>>20, WHITE, BLACK); LCD_PutStr(Axis_X+8*17, Axis_Y+16*6, (u8*)" MB", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*7, (u8*)" CardBlockSize : ", ASCII1608, WHITE, BLACK); LCD_PutNum(Axis_X+8*17, Axis_Y+16*7, Type_D, 5, SDCardInfo.CardBlockSize, WHITE, BLACK); LCD_PutStr(Axis_X+8*22, Axis_Y+16*7, (u8*)" ", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*8, (u8*)" CardType : ", ASCII1608, WHITE, BLACK); LCD_PutNum(Axis_X+8*12, Axis_Y+16*8, Type_D, 5, SDCardInfo.CardType, WHITE, BLACK); LCD_PutStr(Axis_X+8*17, Axis_Y+16*8, (u8*)" ", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*9, (u8*)" RCA : ", ASCII1608, WHITE, BLACK); LCD_PutNum(Axis_X+8*7, Axis_Y+16*9, Type_D, 5, SDCardInfo.RCA, WHITE, BLACK); LCD_PutStr(Axis_X+8*12, Axis_Y+16*9, (u8*)" ", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*10, (u8*)"-----------------------", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"-----SD Init Info-----\r\n"); RS232_SendStr(USART2, (u8*)" Capacity : "); RS232_SendNum(USART2, Type_D, 5, SDCardInfo.CardCapacity>>20); RS232_SendStr(USART2, (u8*)" MB\r\n"); RS232_SendStr(USART2, (u8*)" CardBlockSize : "); RS232_SendNum(USART2, Type_D, 5, SDCardInfo.CardBlockSize); RS232_SendStr(USART2, (u8*)"\r\n"); RS232_SendStr(USART2, (u8*)" CardType : "); RS232_SendNum(USART2, Type_D, 5, SDCardInfo.CardType); RS232_SendStr(USART2, (u8*)"\r\n"); RS232_SendStr(USART2, (u8*)" RCA : "); RS232_SendNum(USART2, Type_D, 5, SDCardInfo.RCA); RS232_SendStr(USART2, (u8*)"\r\n"); RS232_SendStr(USART2, (u8*)"----------------------\r\n"); RS232_SendStr(USART2, (u8*)"\r\n"); Delay_100ms(1); //////////////////// Wait while(KEY_S2 != 1){ LED_G = ~LED_G; Delay_100ms(5); } LED_G = 0; LCD_Clear(BLACK); // Read Directory File LCD_PutStr(Axis_X, Axis_Y+16*0, (u8*)"-----------------------", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*1, (u8*)" SD_Card Read Directory", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*2, (u8*)"-----------------------", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"----------------------\r\n"); RS232_SendStr(USART2, (u8*)" SD_Card Read Directory File\r\n"); RS232_SendStr(USART2, (u8*)"----------------------\r\n\r\n"); res = f_mount(&FatFs, "", 1); res = f_opendir(&dirs, "0:/"); res = f_readdir(&dirs, &finfo); while(res!= FR_OK) { LCD_PutStr(Axis_X, Axis_Y+16*3, (u8*)" Fatfs failed!!", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)" FatFs failed!!\r\n"); while(1) { LED_R = ~LED_R; Delay_100ms(2); } } LCD_PutStr(Axis_X, Axis_Y+16*3, (u8*)" File name : ", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)" File name : \r\n"); while(finfo.fname[0]) { f_readdir(&dirs, &finfo); if(!finfo.fname[0]) break; if(FileNum<11) { LCD_PutStr(Axis_X, Axis_Y+16*(3+FileNum), (u8*)" ... ", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X+8*5, Axis_Y+16*(3+FileNum), (u8*)finfo.fname, ASCII1608, WHITE, BLACK); } else if((FileNum>=11) && (FileNum<22)) { LCD_PutStr(Axis_X+200, Axis_Y+16*(3+FileNum-11), (u8*)" ... ", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X+8*5+200, Axis_Y+16*(3+FileNum-11), (u8*)finfo.fname, ASCII1608, WHITE, BLACK); } else { FileNum = 0; break; } FileNum++; RS232_SendStr(USART2, (u8*)" ... "); RS232_SendStr(USART2, (u8*)finfo.fname); RS232_SendStr(USART2, (u8*)"\r\n"); } Delay_100ms(1); //////////////////// Wait while(KEY_S2 != 1){ LED_B = ~LED_B; Delay_100ms(5); } LED_B = 0; LCD_Clear(BLACK); // Write File LCD_PutStr(Axis_X, Axis_Y+16*0, (u8*)"-----------------------", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*1, (u8*)" SD_Card Write Data", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X, Axis_Y+16*2, (u8*)"-----------------------", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"-----------------------\r\n"); RS232_SendStr(USART2, (u8*)" SD_Card Write Data File\r\n"); RS232_SendStr(USART2, (u8*)"-----------------------\r\n\r\n"); LCD_PutStr(Axis_X, Axis_Y+16*3, (u8*)" f_open ... ", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)" f_open ... "); res = f_open(&file,"SDCard_K.txt", FA_OPEN_ALWAYS | FA_READ | FA_WRITE); if(res==FR_OK) { LCD_PutStr(Axis_X+8*12, Axis_Y+16*3, (u8*)"OK!!", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"OK!!\r\n"); } else { LCD_PutStr(Axis_X+8*12, Axis_Y+16*3, (u8*)"failed!!", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"failed!!\r\n"); } LCD_PutStr(Axis_X, Axis_Y+16*4, (u8*)" f_write ... ", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)" f_write ... "); res = f_write(&file, WriteData, 20, &i); if(res==FR_OK) { LCD_PutStr(Axis_X+8*13, Axis_Y+16*4, (u8*)"OK!!", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"OK!!\r\n"); } else { LCD_PutStr(Axis_X+8*13, Axis_Y+16*4, (u8*)"failed!!", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"failed!!\r\n"); } file.fptr = 0; LCD_PutStr(Axis_X, Axis_Y+16*5, (u8*)" f_read ... ", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)" f_read ... "); res = f_read(&file, ReadBuf, 100, &i); if(res==FR_OK) { LCD_PutStr(Axis_X+8*12, Axis_Y+16*5, (u8*)"OK!!", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"OK!!\r\n"); } else { LCD_PutStr(Axis_X+8*12, Axis_Y+16*5, (u8*)"failed!!", ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, (u8*)"failed!!\r\n"); } f_close(&file); LCD_PutStr(Axis_X, Axis_Y+16*7, (u8*)" Read String : ", ASCII1608, WHITE, BLACK); LCD_PutStr(Axis_X+8*1, Axis_Y+16*8, (u8*)ReadBuf, ASCII1608, WHITE, BLACK); RS232_SendStr(USART2, ReadBuf); while(1) { LED_Y = ~LED_Y; Delay_100ms(2); } }
int main( void ) { u32 i = 0; u8 ReadBuf[128] = {0}; u8 TrData[8][32] = {0}; u8 WriteData[50] = "ABCDEFG"; SystemInit(); GPIO_Config(); RS232_Config(); LED_R = 1; LED_G = 1; // SD Card Init Info RS232_SendStr(USART3, (u8*)" \r\n"); RS232_SendStr(USART3, (u8*)"----------------------\r\n"); RS232_SendStr(USART3, (u8*)"----------------------\r\n"); RS232_SendStr(USART3, (u8*)" SDIO SD FatFs demo\r\n"); RS232_SendStr(USART3, (u8*)"----------------------\r\n"); RS232_SendStr(USART3, (u8*)"----------------------\r\n\r\n"); RS232_SendStr(USART3, (u8*)" SD Init ... "); while(SD_Init() != SD_OK) { RS232_SendStr(USART3, (u8*)"Failed!!\r\n"); while(1) { LED_R = ~LED_R; Delay_100ms(2); } } RS232_SendStr(USART3, (u8*)"OK!!\r\n\r\n"); RS232_SendStr(USART3, (u8*)"-----SD Init Info-----\r\n"); RS232_SendStr(USART3, (u8*)" Capacity : "); NumToChar(Type_D, 5, TrData[0], SDCardInfo.CardCapacity>>20); RS232_SendStr(USART3, TrData[0]); RS232_SendStr(USART3, (u8*)" MB\r\n"); RS232_SendStr(USART3, (u8*)" CardBlockSize : "); NumToChar(Type_D, 5, TrData[1], SDCardInfo.CardBlockSize); RS232_SendStr(USART3, TrData[1]); RS232_SendStr(USART3, (u8*)"\r\n"); RS232_SendStr(USART3, (u8*)" CardType : "); NumToChar(Type_D, 5, TrData[2], SDCardInfo.CardType); RS232_SendStr(USART3, TrData[2]); RS232_SendStr(USART3, (u8*)"\r\n"); RS232_SendStr(USART3, (u8*)" RCA : "); NumToChar(Type_D, 5, TrData[3], SDCardInfo.RCA); RS232_SendStr(USART3, TrData[3]); RS232_SendStr(USART3, (u8*)"\r\n"); RS232_SendStr(USART3, (u8*)"----------------------\r\n"); RS232_SendStr(USART3, (u8*)"\r\n"); // Wait while(KEY != 1){ LED_G = ~LED_G; Delay_100ms(2); } // Read Directory File RS232_SendStr(USART3, (u8*)"----------------------\r\n"); RS232_SendStr(USART3, (u8*)" SD_Card Read Directory File\r\n"); RS232_SendStr(USART3, (u8*)"----------------------\r\n\r\n"); res = f_mount(&FatFs, "", 1); res = f_opendir(&dirs, "0:/"); res = f_readdir(&dirs, &finfo); while(res!= FR_OK) { RS232_SendStr(USART3, (u8*)" FatFs failed!!\r\n"); while(1) { LED_R = ~LED_R; Delay_100ms(2); } } RS232_SendStr(USART3, (u8*)" File name : \r\n"); while(finfo.fname[0]) { f_readdir(&dirs, &finfo); if(!finfo.fname[0]) break; RS232_SendStr(USART3, (u8*)" ... "); RS232_SendStr(USART3, (u8*)finfo.fname); RS232_SendStr(USART3, (u8*)"\r\n"); } // Wait while(KEY != 1){ LED_G = ~LED_G; Delay_100ms(2); } // Write File RS232_SendStr(USART3, (u8*)" f_open ... "); res = f_open(&file,"SDCard_K.txt", FA_OPEN_ALWAYS | FA_READ | FA_WRITE); if(res==FR_OK) RS232_SendStr(USART3, (u8*)"OK!!\r\n"); else RS232_SendStr(USART3, (u8*)"failed!!\r\n"); RS232_SendStr(USART3, (u8*)" f_write ... "); res = f_write(&file, WriteData, 20, (UINT *)&i); if(res==FR_OK) RS232_SendStr(USART3, (u8*)"OK!!\r\n"); else RS232_SendStr(USART3, (u8*)"failed!!\r\n"); file.fptr = 0; RS232_SendStr(USART3, (u8*)" f_read ... "); res = f_read(&file, ReadBuf, 100, (UINT *)&i); if(res==FR_OK) RS232_SendStr(USART3, (u8*)"OK!!\r\n"); else RS232_SendStr(USART3, (u8*)"failed!!\r\n"); f_close(&file); RS232_SendStr(USART3, ReadBuf); while(1) { LED_G = ~LED_G; Delay_100ms(2); } }