Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
8 years, 7 months ago.
I want to modify this program to save and read and int value and display it?
#include "mbed.h"
#include "wire.h"
#define BLE_Nano
//#define nRF_51822
#ifdef nRF_51822
#define SCL 28
#define SDA 29
#endif
#ifdef BLE_Nano
#define SCL 7
#define SDA 6
#endif
#define DEV_ADDR 0xA0
Serial pc(USBTX, USBRX);
TwoWire Wire = TwoWire(NRF_TWI0);
void AT24C512_WriteBytes(uint16_t addr, uint8_t *pbuf, uint16_t length)
{
Wire.beginTransmission(DEV_ADDR);
Wire.write( (uint8_t)addr>>8 );
Wire.write( (uint8_t)addr );
Wire.write(pbuf, length);
Wire.endTransmission();
}
void AT24C512_ReadBytes(uint16_t addr, uint8_t *pbuf, uint16_t length)
{
Wire.beginTransmission(DEV_ADDR);
Wire.write( (uint8_t)addr>>8 );
Wire.write( (uint8_t)addr );
Wire.endTransmission();
Wire.requestFrom(DEV_ADDR+1, length);
while( Wire.available() > 0 )
{
*pbuf = Wire.read();
pbuf++;
}
}
static uint8_t wt_data[10] = {'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd'};
static uint8_t rd_data[10];
static uint16_t index;
int main(void)
{
pc.baud(9600);
wait(5);
//Wire.begin();
Wire.begin(SCL, SDA, TWI_FREQUENCY_100K);
pc.printf("IIC Demo Start \r\n");
AT24C512_WriteBytes(0, wt_data, 10);
wait(0.1);
while(1)
{
AT24C512_ReadBytes(0, rd_data, 10);
pc.printf("Read data from AT24C512 \r\n");
for(index=0; index<10; index++)
{
pc.putc(rd_data[index]);
rd_data[index] = 0x00;
}
pc.printf("\r\n");
wait(1);
}
}
if I print rd_data I get a 9 digit number 536211280
posted by jayendra mishra 07 Apr 2017