hello! i m using stm32lo73rz in keil micro vresion 5 in hll format. I cant initialize char and int. I m using unsigned char i[]= "giga" but warning will generate that i not decleared. and when compile the programe in docklight giga will not print correctly any other word will come there at rx side when tx something according to code.this is my email abhij752@gmail.com please help me out from this.
You haven't shown the actual error/warning message(s) that you get, and you haven't shown exactly where they occur, but:
{ rx_byte=0; unsigned char i[] = "genus"; USART2->TDR = i[4]; USART2->TDR = i[3]; USART2->TDR = i[2]; //LL_USART_TransmitData8(USART2, *i); //LL_USART_TransmitData8(USART2,'e'); //LL_USART_TransmitData8(USART2,i[2]); //LL_USART_TransmitData8(USART2,i[3]); //LL_USART_TransmitData8(USART2,i[4]); //LL_USART_TransmitData8(USART2,i[5]); //LL_USART_TransmitData8(USART2,i[6]); //LL_USART_DisableRxTimeout(USART2); }
As pointed out in the post of 1-Mar-2018 08:25 GMT, C90 requires that all definitions must appear before any executable code in a block.
The assignment to rx_byte is "executable code" - so the definition of i[] is not allowed (in C90) to come after it.
i have gone project>option for target>c/c++>and then i ticked the c99 block and press ok. so please tell me my complier is c99 or c90. how could i check my complier.