Re: MSP430F5528 - Clock and UART

"[email protected] [msp430]" <[email protected]> 18 Feb 2015 06:09:57 -0800
Newsgroups gmane.comp.hardware.texas-instruments.msp430.discuss
Message-ID <[email protected]>
Well, I can actually understand why were thinking this way, but the timer is just used for timestamps...

 

 Anyhow, I decided to throw this UART lib and write some code that will drive the UART(with interrupts). 
 I separated it from the rest of the project for now, and it seems to work as expected. 
 I will post it here later to see if you guys could run a quick review on it just to make sure I didn't miss anything there....
 

 ---In [email protected], <onestone@...> wrote :

 Sorry Mike, from a glimpse at the code you posted it looked like you were setting up the timer based on a watch crystal for bit timing.
 
    /* Enable interrupt for TBCCR0. */
     TBCCTL0 = CCIE;
  
   /* Number of ticks per millisecond. */
     clock.aclk = 32768;
     clock.ticks_per_interrupt = clock.aclk / 1000;
     TBCCR0 = clock.ticks_per_interrupt;
 

 And it still seems that way, using a timer and then bit banging, or bit banging through the timer functions using TxSSEL bits, that is still not taking full advantage of the really nice peripheral Ti have provided. In the code snippets I posted there is absolutely no mention or use of the timer peripherals, which tends to severely limit the practical data rates you can achieve.
 
 I admit I didn't go and download the sample code. I didn't really see the point even if I could have downloaded it, as it was clearly marked as not tested, and you don't point out the particular micro you are using. I didn't want to go hunting through the UART register structures to find the right model.
 Al
  
 On 18/02/2015 7:54 PM, mikemalgin@... mailto:mikemalgin@... [msp430] wrote:

 
 
 Who said I'm not using interrupts? The whole UART thing is interrupt driven....  
 
 ---In [email protected] mailto:[email protected], <Marty@...> mailto:Marty@... wrote :
 
 I love getting under your skin.  Maybe troll would be more accurate.  I bet you are waiting for me to reply as your blood pressure goes up.  Maybe I will answer your next email and maybe not… You never know troll…
 

 From: "msp430@yahoogroups. com" mailto:[email protected] <[email protected] mailto:[email protected]>
 Reply-To: "msp430@yahoogroups. com" mailto:[email protected] <[email protected] mailto:[email protected]>
 Date: Tuesday, February 17, 2015 at 4:28 PM
 To: "msp430@yahoogroups. com" mailto:[email protected] <[email protected] mailto:[email protected]>
 Subject: Re: [msp430] MSP430F5528 - Clock and UART

 

   Who's bullying, I'm pointing out a simple fact, and asking a valid question, over the years I've been in this group one point seems to dominate here. The vast majorioty of people are scared of using interrupts, especially C programmers. 
 
 Bullying requires some form of abuse. Get your facts right before you make pointless off topic comments.
 
 Al
 

 On 18/02/2015 9:46 AM, Martin Bruner Marty@... mailto:Marty@... [msp430] wrote:

 
 
 Spelling is important when bullying someone online.
 

 From: "msp430@yahoogroups. com" <[email protected] mailto:[email protected]>
 Reply-To: "msp430@yahoogroups. com" <[email protected] mailto:[email protected]>
 Date: Tuesday, February 17, 2015 at 4:02 PM
 To: "msp430@yahoogroups. com" <[email protected] mailto:[email protected]>
 Subject: Re: [msp430] MSP430F5528 - Clock and UART

 

   Well typing can be difficult when you only have limited use of your hands. I'll try to do better next time.
 
 Al
 
 

 On 18/02/2015 8:46 AM, Martin Bruner Marty@... mailto:Marty@... [msp430] wrote:

 
 
  I believe you were looking for “frightening” not “fightening".
 

 From: "msp430@yahoogroups. com" <[email protected] mailto:[email protected]>
 Reply-To: "msp430@yahoogroups. com" <[email protected] mailto:[email protected]>
 Date: Tuesday, February 17, 2015 at 3:07 PM
 To: "msp430@yahoogroups. com" <[email protected] mailto:[email protected]>
 Subject: Re: [msp430] MSP430F5528 - Clock and UART

 

   Why oh why are you bit banging this when the MSP430 has an extremely simple UART in hardware. Are interrupts that fightening? 
 
 Al
 

 On 18/02/2015 2:21 AM, mikemalgin@... mailto:mikemalgin@... [msp430] wrote:

 
 
 
 
 Hello, I'm trying to communicate with my RF module through UART interface. However, I get many errors even with low load. I suspect that I have an issue with the way that I configure the clock or the UART.
 
 
 Basically, for the UART functionality I use http://glitovsky.com/blog/?p=300 http://glitovsky.com/blog/?p=300
 (I configured the connection as 8N1at 115200).

 

 The clock configuration below is used with MCLK = 25 MHz ( when I use it with MCLK=16 MHz I cannot communicate with the UART module at all ) .
 
 
  P5SEL |= 0x0C;
 
   /* Select REF0 for FLL reference. */
  UCSCTL3 &= ~SELREF_7;
  UCSCTL3 |= SELREF_2;
 

  /* Set ACLK to use REF0CLK.
    * Set SMCLK to use the DCO.
   */
   UCSCTL4 &= ~SELA_7 & ~SELS_7 & ~SELM_7;
 
   UCSCTL4 |= SELA_2 | SELS_4 | SELM_4;
    /* Initialize FLL. */
    Init_FLL_Settle(mclk/1000L, mclk/32768);
 

    XT2_Start(XT2DRIVE_0);
 

    UCSCTL4 &= ~SELA_7;

     UCSCTL4 |= SELA_2;
    UCSCTL8 |= SMCLKREQEN | MCLKREQEN | ACLKREQEN;
    /* Enable interrupt for TBCCR0. */
     TBCCTL0 = CCIE;
  
   /* Number of ticks per millisecond. */
     clock.aclk = 32768;
     clock.ticks_per_interrupt = clock.aclk / 1000;
     TBCCR0 = clock.ticks_per_interrupt;
 

     /* Use ACLK, set timer to up-count mode, and start timer at zero. */
     TBCTL = TBSSEL_1 | MC_2 | TBCLR;
 

    /* Enable interrupts. */
     __bis_SR_register(GIE);
   
  

 Thanks, 
 Mike