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.
7 years, 8 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