testing

Dependencies:   BLE_API mbed nRF51822

Committer:
leighton_corr
Date:
Sun Sep 17 21:51:23 2017 +0000
Revision:
0:01674c0ff0b0
test1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
leighton_corr 0:01674c0ff0b0 1 /*
leighton_corr 0:01674c0ff0b0 2
leighton_corr 0:01674c0ff0b0 3 Copyright (c) 2012-2014 RedBearLab
leighton_corr 0:01674c0ff0b0 4
leighton_corr 0:01674c0ff0b0 5 Permission is hereby granted, free of charge, to any person obtaining a copy of this software
leighton_corr 0:01674c0ff0b0 6 and associated documentation files (the "Software"), to deal in the Software without restriction,
leighton_corr 0:01674c0ff0b0 7 including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
leighton_corr 0:01674c0ff0b0 8 and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
leighton_corr 0:01674c0ff0b0 9 subject to the following conditions:
leighton_corr 0:01674c0ff0b0 10 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
leighton_corr 0:01674c0ff0b0 11
leighton_corr 0:01674c0ff0b0 12 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
leighton_corr 0:01674c0ff0b0 13 INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
leighton_corr 0:01674c0ff0b0 14 PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
leighton_corr 0:01674c0ff0b0 15 FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
leighton_corr 0:01674c0ff0b0 16 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
leighton_corr 0:01674c0ff0b0 17
leighton_corr 0:01674c0ff0b0 18 */
leighton_corr 0:01674c0ff0b0 19
leighton_corr 0:01674c0ff0b0 20 #include "mbed.h"
leighton_corr 0:01674c0ff0b0 21 #include "wire.h"
leighton_corr 0:01674c0ff0b0 22
leighton_corr 0:01674c0ff0b0 23 #define BLE_Nano
leighton_corr 0:01674c0ff0b0 24 //#define nRF_51822
leighton_corr 0:01674c0ff0b0 25
leighton_corr 0:01674c0ff0b0 26
leighton_corr 0:01674c0ff0b0 27 #ifdef nRF_51822
leighton_corr 0:01674c0ff0b0 28 #define SCL 28
leighton_corr 0:01674c0ff0b0 29 #define SDA 29
leighton_corr 0:01674c0ff0b0 30 #endif
leighton_corr 0:01674c0ff0b0 31
leighton_corr 0:01674c0ff0b0 32 #ifdef BLE_Nano
leighton_corr 0:01674c0ff0b0 33 #define SCL 7
leighton_corr 0:01674c0ff0b0 34 #define SDA 6
leighton_corr 0:01674c0ff0b0 35 #endif
leighton_corr 0:01674c0ff0b0 36
leighton_corr 0:01674c0ff0b0 37 #define DEV_ADDR 0xA0
leighton_corr 0:01674c0ff0b0 38
leighton_corr 0:01674c0ff0b0 39 Serial pc(USBTX, USBRX);
leighton_corr 0:01674c0ff0b0 40 TwoWire Wire = TwoWire(NRF_TWI0);
leighton_corr 0:01674c0ff0b0 41
leighton_corr 0:01674c0ff0b0 42 void AT24C512_WriteBytes(uint16_t addr, uint8_t *pbuf, uint16_t length)
leighton_corr 0:01674c0ff0b0 43 {
leighton_corr 0:01674c0ff0b0 44 Wire.beginTransmission(DEV_ADDR);
leighton_corr 0:01674c0ff0b0 45 Wire.write( (uint8_t)addr>>8 );
leighton_corr 0:01674c0ff0b0 46 Wire.write( (uint8_t)addr );
leighton_corr 0:01674c0ff0b0 47 Wire.write(pbuf, length);
leighton_corr 0:01674c0ff0b0 48 Wire.endTransmission();
leighton_corr 0:01674c0ff0b0 49 }
leighton_corr 0:01674c0ff0b0 50
leighton_corr 0:01674c0ff0b0 51 void AT24C512_ReadBytes(uint16_t addr, uint8_t *pbuf, uint16_t length)
leighton_corr 0:01674c0ff0b0 52 {
leighton_corr 0:01674c0ff0b0 53 Wire.beginTransmission(DEV_ADDR);
leighton_corr 0:01674c0ff0b0 54 Wire.write( (uint8_t)addr>>8 );
leighton_corr 0:01674c0ff0b0 55 Wire.write( (uint8_t)addr );
leighton_corr 0:01674c0ff0b0 56 Wire.endTransmission();
leighton_corr 0:01674c0ff0b0 57
leighton_corr 0:01674c0ff0b0 58 Wire.requestFrom(DEV_ADDR+1, length);
leighton_corr 0:01674c0ff0b0 59 while( Wire.available() > 0 )
leighton_corr 0:01674c0ff0b0 60 {
leighton_corr 0:01674c0ff0b0 61 *pbuf = Wire.read();
leighton_corr 0:01674c0ff0b0 62 pbuf++;
leighton_corr 0:01674c0ff0b0 63 }
leighton_corr 0:01674c0ff0b0 64 }
leighton_corr 0:01674c0ff0b0 65
leighton_corr 0:01674c0ff0b0 66
leighton_corr 0:01674c0ff0b0 67 static uint8_t wt_data[10] = {'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd'};
leighton_corr 0:01674c0ff0b0 68 static uint8_t rd_data[10];
leighton_corr 0:01674c0ff0b0 69
leighton_corr 0:01674c0ff0b0 70 static uint16_t index;
leighton_corr 0:01674c0ff0b0 71
leighton_corr 0:01674c0ff0b0 72 int main(void)
leighton_corr 0:01674c0ff0b0 73 {
leighton_corr 0:01674c0ff0b0 74 pc.baud(9600);
leighton_corr 0:01674c0ff0b0 75 wait(5);
leighton_corr 0:01674c0ff0b0 76 //Wire.begin();
leighton_corr 0:01674c0ff0b0 77 Wire.begin(SCL, SDA, TWI_FREQUENCY_100K);
leighton_corr 0:01674c0ff0b0 78 pc.printf("IIC Demo Start \r\n");
leighton_corr 0:01674c0ff0b0 79
leighton_corr 0:01674c0ff0b0 80 AT24C512_WriteBytes(0, wt_data, 10);
leighton_corr 0:01674c0ff0b0 81 wait(0.1);
leighton_corr 0:01674c0ff0b0 82
leighton_corr 0:01674c0ff0b0 83 while(1)
leighton_corr 0:01674c0ff0b0 84 {
leighton_corr 0:01674c0ff0b0 85 AT24C512_ReadBytes(0, rd_data, 10);
leighton_corr 0:01674c0ff0b0 86 pc.printf("Read data from AT24C512 \r\n");
leighton_corr 0:01674c0ff0b0 87 for(index=0; index<10; index++)
leighton_corr 0:01674c0ff0b0 88 {
leighton_corr 0:01674c0ff0b0 89 pc.putc(rd_data[index]);
leighton_corr 0:01674c0ff0b0 90 rd_data[index] = 0x00;
leighton_corr 0:01674c0ff0b0 91 }
leighton_corr 0:01674c0ff0b0 92 pc.printf("\r\n");
leighton_corr 0:01674c0ff0b0 93 wait(1);
leighton_corr 0:01674c0ff0b0 94 }
leighton_corr 0:01674c0ff0b0 95 }
leighton_corr 0:01674c0ff0b0 96
leighton_corr 0:01674c0ff0b0 97
leighton_corr 0:01674c0ff0b0 98
leighton_corr 0:01674c0ff0b0 99
leighton_corr 0:01674c0ff0b0 100
leighton_corr 0:01674c0ff0b0 101
leighton_corr 0:01674c0ff0b0 102
leighton_corr 0:01674c0ff0b0 103
leighton_corr 0:01674c0ff0b0 104
leighton_corr 0:01674c0ff0b0 105
leighton_corr 0:01674c0ff0b0 106
leighton_corr 0:01674c0ff0b0 107
leighton_corr 0:01674c0ff0b0 108
leighton_corr 0:01674c0ff0b0 109
leighton_corr 0:01674c0ff0b0 110
leighton_corr 0:01674c0ff0b0 111
leighton_corr 0:01674c0ff0b0 112
leighton_corr 0:01674c0ff0b0 113
leighton_corr 0:01674c0ff0b0 114
leighton_corr 0:01674c0ff0b0 115