Program in C a) Complete the UART_init function to configure USART1 to satisfy the following. (4pts) i)  38,400 Baud rate ii) 2 stop bit iii) odd parity iv) 8 data bits in a frame iv) enable interrupt that indicates when a byte has been received by USART1 v) do NOT enable transmission v) Double data rate mode vi) Asynchronous Mode UART_init { } b) Complete the code below to convert any lower case ASCII charters received on USART1 to upper case. All other data should remain unchanged (i.e. only convert ‘a’-‘z’). Additionally, every time 50 data bytes are received, these 50 bytes (in uppercase form if appropriate) should be printed to the LCD screen using lprintf(). (6 pts) Note: Assume all required .h file have been included. Note: Add any variables that you wish // Global variables // Convert lower case characters to uppercase (3pts) ISR( FILL IN VECTOR NAME) { } // Each time 50 data bytes are received on USART1, print the // 50 bytes to the LCD screen using lprintf (3pts) main { } Solution import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.CharacterCodingException; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import java.nio.charset.CharsetEncoder; public class ConvertBetweenCharacterSetEncodingsWithCharBuffer { public static void main(String[] args) { //String cadena = \"@@@@@@@@@@@@@@@ñâæÃÈÄóöó@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÔÃâãÅÙÃÃÙÄ@ÄÅÂÉã@âæÉãÃÈ@@@@@@@@\"; String cadena = \"ñâæÃÈÄóöó\"; System.out.println(Convert(cadena,\"CP1047\",\"ISO-8859-1\")); cadena = \"1SWCHD363\"; System.out.println(Convert(cadena,\"ISO-8859-1\",\"CP1047\")); } public static String Convert (String strToConvert,String in, String out){ try { Charset charset_in = Charset.forName(out); Charset charset_out = Charset.forName(in); CharsetDecoder decoder = charset_out.newDecoder(); CharsetEncoder encoder = charset_in.newEncoder(); CharBuffer uCharBuffer = CharBuffer.wrap(strToConvert); ByteBuffer bbuf = encoder.encode(uCharBuffer); CharBuffer cbuf = decoder.decode(bbuf); String s = cbuf.toString(); //System.out.println(\"Original String is: \" + s); return s; } catch (CharacterCodingException e) { //System.out.println(\"Character Coding Error: \" + e.getMessage()); return \"\"; } } } .