TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (405 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (133 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (141228 times)
  2. FAT32 Library (74037 times)
  3. Network Ethernet Library (58659 times)
  4. USB Device Library (48766 times)
  5. Network WiFi Library (44485 times)
  6. FT800 Library (44034 times)
  7. GSM click (30784 times)
  8. mikroSDK (29602 times)
  9. PID Library (27342 times)
  10. microSD click (27188 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
mikroSDK Library

FRAM 3 Click

Rating:

5

Author: MIKROE

Last Updated: 2019-11-04

Package Version: 1.0.0.0

mikroSDK Library: 1.0.0.0

Category: FRAM

Downloaded: 3868 times

Not followed.

License: MIT license  

The FRAM 3 Click is a Click boardâ„¢ that carries a ferroelectric RAM module. Ferroelectric RAM, also known as FRAM, is a non-volatile memory type, with characteristics that are comparable to much faster DRAM memory modules.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "FRAM 3 Click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "FRAM 3 Click" changes.

Do you want to report abuse regarding "FRAM 3 Click".

  • mikroSDK Library 2.0.0.0
  • Comments (0)
DOWNLOAD LINK RELATED COMPILER CONTAINS
mikroBasic PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc

mikroSDK Library Blog

FRAM 3 click

FRAM 3 click

Native view of the FRAM 3 click board.

View full image
FRAM 3 click

FRAM 3 click

Front and back view of the FRAM 3 click board.

View full image

Library Description

Library provides control over reading and writing data via I2C module. You can use 2 specific functions for reading and writing to memory.

Key functions:

  • void fram3_read_data ( uint8_t *data_buf, uint8_t n_buf_size ) - Generic read data function
  • void fram3_write_data ( uint8_t *data_buf, uint8_t n_buf_size ) - Generic write data function
  • uint8_t fram3_read_free_access_memory ( uint8_t start_addr, uint8_t *data_buf, uint8_t n_buf_size ) - Memory read function
  • uint8_t fram3_write_free_access_memory ( uint8_t start_addr, uint8_t *data_buf, uint8_t n_buf_size ) - Memory write function

Examples description

The application is composed of three sections :

  • System Initialization - Initializes I2C module
  • Application Initialization - Initializes driver init
  • Application Task - Writes and then reads data from memory
void application_task (  )
{
    mikrobus_logWrite( " - Writing... ", _LOG_LINE );
    Delay_ms( 500 );
    status_check = fram3_write_free_access_memory( 0x00, &write_data[ 0 ], 7 );
    if ( status_check == FRAM3_ERROR )
    {
        mikrobus_logWrite( " - ERROR WRITING!!! ", _LOG_LINE );
        for ( ; ; );
    }
    
    mikrobus_logWrite( " - Reading... ", _LOG_LINE );
    Delay_ms( 500 );
    status_check = fram3_read_free_access_memory( 0x00, &read_data[ 0 ], 7 );
    if ( status_check == FRAM3_ERROR )
    {
        mikrobus_logWrite( " - ERROR READING!!! ", _LOG_LINE );
        for ( ; ; );
    }

    for ( cnt = 0; cnt < 7; cnt++ )
    {
        mikrobus_logWrite( &read_data[ cnt ], _LOG_BYTE );
        Delay_ms( 100 );
    }
    mikrobus_logWrite( "", _LOG_LINE );
    Delay_ms( 1000 );
    mikrobus_logWrite( "__________________________", _LOG_LINE );
    Delay_ms( 500 );
}

Other mikroE Libraries used in the example:

  • I2C
  • UART

Additional notes and informations

Depending on the development board you are using, you may need USB UART clickUSB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.

ALSO FROM THIS AUTHOR

Hall Current 21 Click

0

Hall Current 21 Click is a compact add-on board designed for precise current measurement across a wide frequency range, ideal for fast and accurate monitoring applications. This board features the ACS37030, a galvanically-isolated current sensor from Allegro Microsystems. It provides bidirectional current sensing with a range of ±65A and a sensitivity of 20.3mV/A, offering high isolation of 3500VRMS and a working voltage of up to 840VRMS. It also features low noise and a wide operating bandwidth, making it suitable for high-speed switching current and control loop monitoring. This Click board™ is perfect for power supplies in servers, data centers, and solar DC-DC converters.

[Learn More]

Accel 22 Click

0

Accel 22 Click is a compact add-on board that contains an acceleration sensor. This board features the ADXL367, an ultra-low-power, high-performance three-axis accelerometer from Analog Devices. The ADXL367 allows selectable full-scale acceleration measurements in ranges of ±2g, ±4g, and ±8g in three axes, with a resolution of 0.25 mg/LSB on the ±2g range, alongside a configurable host interface that supports both SPI and I2C serial communication. This device combines a 3-axis MEMS accelerometer, a temperature sensor, and a 14-bit analog-to-digital converter (ADC) to synchronize an external analog signal conversion.

[Learn More]

I2C Extend click

5

I2C Extend Click is a compact add-on board for applications that require extending the I2C communication bus over a long distance.[MS1] This board features the LTC4331 - an I2C slave device extender over a rugged differential link, from Analog Devices.

[Learn More]