Hi. I want to change reset uart and change baud rate with an interface (combobox) on windows. At the beginning default baud rate is 2400. ME2 |= UTXE1 + URXE1; // Enable USART1 TXD/RXD UCTL1 |= CHAR; // 8-bit character UTCTL1 |= SSEL0; // UCLK = ACLK UBR01 = 0x0D; // 32k/2400 - 13.65 UBR11 = 0x00; UMCTL1 = 0x6B; // Modulation UCTL1 &= ~SWRST; // Initialize USART state machine IE2 |= URXIE1; // Enable USART1 RX interrupt .. how can i reset this later? I tried something like this but it doesn't work ... case 3: // set baud rate 9600 UCTL1 |= CHAR; // 8-bit character UTCTL1 |= SSEL0; // UCLK = ACLK UBR01=0x03; UBR11=0x00; UMCTL1=0x29; UCTL1 &= ~SWRST; IE2 |= URXIE1; default; .... How can I do it?
how to initializatize/re-configure usart?
Started by ●September 28, 2007
Reply by ●September 29, 20072007-09-29
On Fri, 28 Sep 2007 06:44:14 -0500, "bcincin" <berkecincin@gmail.com> wrote in comp.arch.embedded:> > Hi. I want to change reset uart and change baud rate with an interface > (combobox) on windows. At the beginning default baud rate is 2400.For what UART? What hardware is this program for?> ME2 |= UTXE1 + URXE1; // Enable USART1 TXD/RXD > > UCTL1 |= CHAR; // 8-bit character > UTCTL1 |= SSEL0; // UCLK = ACLK > UBR01 = 0x0D; // 32k/2400 - 13.65 > UBR11 = 0x00; > UMCTL1 = 0x6B; // Modulation > UCTL1 &= ~SWRST; // Initialize USART state machine > IE2 |= URXIE1; // Enable USART1 RX interrupt > > .. > > how can i reset this later? I tried something like this but it doesn't > work > > ... > case 3: // set baud rate 9600 > UCTL1 |= CHAR; // 8-bit character > UTCTL1 |= SSEL0; // UCLK = ACLK > UBR01=0x03; > UBR11=0x00; > UMCTL1=0x29; > UCTL1 &= ~SWRST; > IE2 |= URXIE1; > default; > ....Without knowing what part you are talking about, it's hard to do more than guess. But perhaps you should at least disable the interrupt while you are changing settings. -- Jack Klein Home: http://JK-Technology.Com FAQs for comp.lang.c http://c-faq.com/ comp.lang.c++ http://www.parashift.com/c++-faq-lite/ alt.comp.lang.learn.c-c++ http://www.club.cc.cmu.edu/~ajo/docs/FAQ-acllc.html
Reply by ●September 29, 20072007-09-29
On Fri, 28 Sep 2007 22:14:15 -0500, Jack Klein <jackklein@spamcop.net> wrote:>On Fri, 28 Sep 2007 06:44:14 -0500, "bcincin" <berkecincin@gmail.com> >wrote in comp.arch.embedded: > >> >> Hi. I want to change reset uart and change baud rate with an interface >> (combobox) on windows. At the beginning default baud rate is 2400. > >For what UART? What hardware is this program for? > >> ME2 |= UTXE1 + URXE1; // Enable USART1 TXD/RXD >> >> UCTL1 |= CHAR; // 8-bit character >> UTCTL1 |= SSEL0; // UCLK = ACLK >> UBR01 = 0x0D; // 32k/2400 - 13.65 >> UBR11 = 0x00; >> UMCTL1 = 0x6B; // Modulation >> UCTL1 &= ~SWRST; // Initialize USART state machine >> IE2 |= URXIE1; // Enable USART1 RX interrupt >> >> .. >> >> how can i reset this later? I tried something like this but it doesn't >> work >> >> ... >> case 3: // set baud rate 9600 >> UCTL1 |= CHAR; // 8-bit character >> UTCTL1 |= SSEL0; // UCLK = ACLK >> UBR01=0x03; >> UBR11=0x00; >> UMCTL1=0x29; >> UCTL1 &= ~SWRST; >> IE2 |= URXIE1; >> default; >> .... > >Without knowing what part you are talking about, it's hard to do more >than guess. But perhaps you should at least disable the interrupt >while you are changing settings.Also ... many UARTS have a soft-reset per channel. You can use this bit to reset the specific channel, and then reconfigure. Regards Anton Erasmus