This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/MSP430FR5969: CCS/MSP430FR5969 + ADC + LCD

Part Number: MSP430FR5969

Tool/software: Code Composer Studio

greetings to all!

I'm from Ukraine

I used to use Atmel products for more than 10 years and wrote programs on CVAVR.

I develop and produce chargers for different types of batteries, using the "impulse charge" by a unique proprietary technology.

Now I want to switch to TI products. I really like the architecture and capabilities of the 16-bit MSP430FR5XXX.
I purchased MSP_EXP430FR5969.

But I had a problem.

In CVAVR there is a "wizard" which helps to create a project by recording the necessary "empty" functions and configuring the I / O ports and LCD symbol pins.
In CCS, I did not find anything like that ...
There are examples, but they are partial.

I need:
1) configure the microcontroller to use timers (interruption by timer is my program should be),
2) The ADC should work independently, taking data from a cycle from several inputs, and write the measurement results directly to the memory without loading the stack and the processor for "interrupt processing".
3) I use the LCD Character Display 1602 (Winstar) I need functions like:

void _lcd_write_data(unsigned char data);
// read a byte from the LCD character generator or display RAM
unsigned char lcd_read_byte(unsigned char addr);
// write a byte to the LCD character generator or display RAM
void lcd_write_byte(unsigned char addr, unsigned char data);
// set the LCD display position  x=0..39 y=0..3
void lcd_gotoxy(unsigned char x, unsigned char y);
// clear the LCD
void lcd_clear(void);
void lcd_putchar(char c);
// write the string str located in SRAM to the LCD
void lcd_puts(char *str);
// write the string str located in FLASH to the LCD
void lcd_putsf(char flash *str);
// write the string str located in EEPROM to the LCD
void lcd_putse(char eeprom *str);
// displays formatted output
int lcd_printf(flash char *fmtstr,...);
// displays formatted output at the specified x, y coordinates
int lcd_printfxy(unsigned char x, unsigned char y, flash char *fmtstr,...);
// initialize the LCD controller
void lcd_init(unsigned char lcd_columns);

Where can they be found? Do I write them myself?
How to configure input-output pins to work with LCDs of this type?

Help me please.

  •  Alexander,

    you can use the code examples from the resource explorer to get your modules initialized.

    The FR5969 does not have an integrated LCD module implemented only FR6xx parts support LCD.

    If you would like to user the SHARP booster pack together with your MSP-EXPFR5969 I recommend to use the demos shown below:

  • I do not understand you ...

    FR5969 does not have a built-in LCD module, yes, I know it, but we differently understand the support for LCD.

    Atmega168 also does not have a "built-in LCD support module", but Atmel gives a "library" of C-functions for work (see my first letter)


    For example:



    /************************************************** 
      Universal alphanumeric LCD driver library
      for the HD44780 LCD controller
      Supports both ATxmega and non-ATxmega devices
    **************************************************/
    
    #ifndef _LCDX_INCLUDED_
    #define _LCDX_INCLUDED_
    
    void _lcd_write_data(unsigned char data);
    // read a byte from the LCD character generator or display RAM
    unsigned char lcd_read_byte(unsigned char addr);
    // write a byte to the LCD character generator or display RAM
    void lcd_write_byte(unsigned char addr, unsigned char data);
    // set the LCD display position  x=0..39 y=0..3
    void lcd_gotoxy(unsigned char x, unsigned char y);
    // clear the LCD
    void lcd_clear(void);
    void lcd_putchar(char c);
    // write the string str located in SRAM to the LCD
    void lcd_puts(char *str);
    // write the string str located in FLASH to the LCD
    void lcd_putsf(char flash *str);
    // write the string str located in EEPROM to the LCD
    void lcd_putse(char eeprom *str);
    // displays formatted output
    int lcd_printf(flash char *fmtstr,...);
    // displays formatted output at the specified x, y coordinates
    int lcd_printfxy(unsigned char x, unsigned char y, flash char *fmtstr,...);
    // initialize the LCD controller
    void lcd_init(unsigned char lcd_columns);
    
    #pragma library alcd.lib
    
    #endif
    

    .....................................

    Is there something like this in TI?

  • Alexander,

    something like this does not exist for the FR5969 but insteand you can use a derivate of the FR6xx family e.g. FR6989 which has an onboard LCD controller? Would this help or are you restricted to FR5969?
  • I haven't seen a character LCD library from TI (proper), but a google for "msp430 st7066 lcd library" turns up a few candidates, including the one below from Dennis Eichmann, who's a regular here.

    The names are different, but the functions seem to be equivalent to Mr. Fleury's. (The solution is probably as simple as pound-define.) The MSP430 doesn't distinguish SRAM/EEPROM/Flash arguments the way the AVR does.

  • Interesting I was not aware of it so I learned something as well. So I think you found a lib on your own.
    Hope this helps if not contact Dennis direclty I assume he is willing to help as usual.

**Attention** This is a public forum