AE11 GUI for PICO
Dependencies: max32625pico USBDevice
i2c.cpp@0:a13d6826cf66, 2020-06-25 (annotated)
- Committer:
- PowerIC
- Date:
- Thu Jun 25 17:25:24 2020 +0000
- Revision:
- 0:a13d6826cf66
Initial_Upload
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
PowerIC | 0:a13d6826cf66 | 1 | #include "mbed.h" |
PowerIC | 0:a13d6826cf66 | 2 | #include "i2c.h" |
PowerIC | 0:a13d6826cf66 | 3 | //#include "mcp4728.h" |
PowerIC | 0:a13d6826cf66 | 4 | |
PowerIC | 0:a13d6826cf66 | 5 | //-- PIN DEFINITIONS ---------------------------------------------------------------------------------- |
PowerIC | 0:a13d6826cf66 | 6 | I2C i2c1(P1_6, P1_7); // Enable I2C Master 1(SDA, SCL) |
PowerIC | 0:a13d6826cf66 | 7 | //I2C i2c2(P5_7, P6_0); // Enable I2C Master 2(SDA, SCL) |
PowerIC | 0:a13d6826cf66 | 8 | |
PowerIC | 0:a13d6826cf66 | 9 | //-- VARIABLES ---------------------------------------------------------------------------------------- |
PowerIC | 0:a13d6826cf66 | 10 | extern char I2C1_TXDATA[]; |
PowerIC | 0:a13d6826cf66 | 11 | extern char I2C1_RXDATA[]; |
PowerIC | 0:a13d6826cf66 | 12 | //extern char I2C2_TXDATA[]; |
PowerIC | 0:a13d6826cf66 | 13 | //extern char I2C2_RXDATA[]; |
PowerIC | 0:a13d6826cf66 | 14 | |
PowerIC | 0:a13d6826cf66 | 15 | void Init_I2C() |
PowerIC | 0:a13d6826cf66 | 16 | { |
PowerIC | 0:a13d6826cf66 | 17 | i2c1.frequency(400000); // Set I2C Bus = 400KHz |
PowerIC | 0:a13d6826cf66 | 18 | //i2c2.frequency(400000); // Set I2C Bus = 400KHz |
PowerIC | 0:a13d6826cf66 | 19 | } |
PowerIC | 0:a13d6826cf66 | 20 | |
PowerIC | 0:a13d6826cf66 | 21 | char I2C_Quick_Write(char port, char address) |
PowerIC | 0:a13d6826cf66 | 22 | { |
PowerIC | 0:a13d6826cf66 | 23 | // Device present should respond with 0x01, otherwise 0x00 |
PowerIC | 0:a13d6826cf66 | 24 | char RESPONSE = 0x00; |
PowerIC | 0:a13d6826cf66 | 25 | port = I2C_PORT1; |
PowerIC | 0:a13d6826cf66 | 26 | |
PowerIC | 0:a13d6826cf66 | 27 | if(port == I2C_PORT2) |
PowerIC | 0:a13d6826cf66 | 28 | { |
PowerIC | 0:a13d6826cf66 | 29 | //i2c2.start(); |
PowerIC | 0:a13d6826cf66 | 30 | //RESPONSE = i2c2.write(address); // Echo ACK/NACK Status |
PowerIC | 0:a13d6826cf66 | 31 | //i2c2.stop(); |
PowerIC | 0:a13d6826cf66 | 32 | } |
PowerIC | 0:a13d6826cf66 | 33 | else |
PowerIC | 0:a13d6826cf66 | 34 | { |
PowerIC | 0:a13d6826cf66 | 35 | i2c1.start(); |
PowerIC | 0:a13d6826cf66 | 36 | RESPONSE = i2c1.write(address); // Echo ACK/NACK Status |
PowerIC | 0:a13d6826cf66 | 37 | i2c1.stop(); |
PowerIC | 0:a13d6826cf66 | 38 | } |
PowerIC | 0:a13d6826cf66 | 39 | |
PowerIC | 0:a13d6826cf66 | 40 | return RESPONSE; |
PowerIC | 0:a13d6826cf66 | 41 | } |
PowerIC | 0:a13d6826cf66 | 42 | |
PowerIC | 0:a13d6826cf66 | 43 | char I2C_Read_Byte(char port, char address, char reg) |
PowerIC | 0:a13d6826cf66 | 44 | { |
PowerIC | 0:a13d6826cf66 | 45 | char RESPONSE = 0x00; |
PowerIC | 0:a13d6826cf66 | 46 | port = I2C_PORT1; |
PowerIC | 0:a13d6826cf66 | 47 | |
PowerIC | 0:a13d6826cf66 | 48 | if(port == I2C_PORT2) |
PowerIC | 0:a13d6826cf66 | 49 | { |
PowerIC | 0:a13d6826cf66 | 50 | //I2C2_TXDATA[0] = reg; // Which register? |
PowerIC | 0:a13d6826cf66 | 51 | //(void)i2c2.write(address, I2C2_TXDATA, 1, true); |
PowerIC | 0:a13d6826cf66 | 52 | //(void)i2c2.read(address, I2C2_RXDATA, 1); // Ask for data |
PowerIC | 0:a13d6826cf66 | 53 | //wait_us(25); // Wait for it |
PowerIC | 0:a13d6826cf66 | 54 | //RESPONSE = I2C2_RXDATA[0]; // Return Data |
PowerIC | 0:a13d6826cf66 | 55 | } |
PowerIC | 0:a13d6826cf66 | 56 | else |
PowerIC | 0:a13d6826cf66 | 57 | { |
PowerIC | 0:a13d6826cf66 | 58 | I2C1_TXDATA[0] = reg; // Which register? |
PowerIC | 0:a13d6826cf66 | 59 | (void)i2c1.write(address, I2C1_TXDATA, 1, true); |
PowerIC | 0:a13d6826cf66 | 60 | (void)i2c1.read(address, I2C1_RXDATA, 1); // Ask for data |
PowerIC | 0:a13d6826cf66 | 61 | wait_us(25); // Wait for it |
PowerIC | 0:a13d6826cf66 | 62 | RESPONSE = I2C1_RXDATA[0]; // Return Data |
PowerIC | 0:a13d6826cf66 | 63 | } |
PowerIC | 0:a13d6826cf66 | 64 | |
PowerIC | 0:a13d6826cf66 | 65 | return RESPONSE; |
PowerIC | 0:a13d6826cf66 | 66 | } |
PowerIC | 0:a13d6826cf66 | 67 | |
PowerIC | 0:a13d6826cf66 | 68 | char I2C_Write_Register(char port, char address, char reg, char data) |
PowerIC | 0:a13d6826cf66 | 69 | { |
PowerIC | 0:a13d6826cf66 | 70 | char RESPONSE = 0x00; |
PowerIC | 0:a13d6826cf66 | 71 | port = I2C_PORT1; |
PowerIC | 0:a13d6826cf66 | 72 | |
PowerIC | 0:a13d6826cf66 | 73 | if(port == I2C_PORT2) |
PowerIC | 0:a13d6826cf66 | 74 | { |
PowerIC | 0:a13d6826cf66 | 75 | //I2C2_TXDATA[0] = reg; // Register |
PowerIC | 0:a13d6826cf66 | 76 | //I2C2_TXDATA[1] = data; // Data |
PowerIC | 0:a13d6826cf66 | 77 | //RESPONSE = i2c2.write(address,I2C2_TXDATA,2); // Echo ACK/NACK |
PowerIC | 0:a13d6826cf66 | 78 | } |
PowerIC | 0:a13d6826cf66 | 79 | else |
PowerIC | 0:a13d6826cf66 | 80 | { |
PowerIC | 0:a13d6826cf66 | 81 | I2C1_TXDATA[0] = reg; // Register |
PowerIC | 0:a13d6826cf66 | 82 | I2C1_TXDATA[1] = data; // Data |
PowerIC | 0:a13d6826cf66 | 83 | RESPONSE = i2c1.write(address,I2C1_TXDATA,2); // Echo ACK/NACK |
PowerIC | 0:a13d6826cf66 | 84 | } |
PowerIC | 0:a13d6826cf66 | 85 | |
PowerIC | 0:a13d6826cf66 | 86 | return RESPONSE; |
PowerIC | 0:a13d6826cf66 | 87 | } |
PowerIC | 0:a13d6826cf66 | 88 | |
PowerIC | 0:a13d6826cf66 | 89 | unsigned short I2C_Read_Word(char port, char address, char reg) |
PowerIC | 0:a13d6826cf66 | 90 | { |
PowerIC | 0:a13d6826cf66 | 91 | unsigned short RESPONSE = 0x0000; |
PowerIC | 0:a13d6826cf66 | 92 | port = I2C_PORT1; |
PowerIC | 0:a13d6826cf66 | 93 | |
PowerIC | 0:a13d6826cf66 | 94 | if(port == I2C_PORT2) |
PowerIC | 0:a13d6826cf66 | 95 | { |
PowerIC | 0:a13d6826cf66 | 96 | //I2C2_TXDATA[0] = reg; // Which register? |
PowerIC | 0:a13d6826cf66 | 97 | //(void)i2c2.write(address, I2C2_TXDATA, 1, true); |
PowerIC | 0:a13d6826cf66 | 98 | //(void)i2c2.read(address, I2C2_RXDATA, 2); // Ask for data |
PowerIC | 0:a13d6826cf66 | 99 | //wait_us(25); // Wait for it |
PowerIC | 0:a13d6826cf66 | 100 | |
PowerIC | 0:a13d6826cf66 | 101 | //RESPONSE = (unsigned short)((I2C2_RXDATA[0] * 256) + I2C2_RXDATA[1]); // Return Data |
PowerIC | 0:a13d6826cf66 | 102 | } |
PowerIC | 0:a13d6826cf66 | 103 | else |
PowerIC | 0:a13d6826cf66 | 104 | { |
PowerIC | 0:a13d6826cf66 | 105 | I2C1_TXDATA[0] = reg; // Which register? |
PowerIC | 0:a13d6826cf66 | 106 | (void)i2c1.write(address, I2C1_TXDATA, 1, true); |
PowerIC | 0:a13d6826cf66 | 107 | (void)i2c1.read(address, I2C1_RXDATA, 2); // Ask for data |
PowerIC | 0:a13d6826cf66 | 108 | wait_us(25); // Wait for it |
PowerIC | 0:a13d6826cf66 | 109 | |
PowerIC | 0:a13d6826cf66 | 110 | RESPONSE = (unsigned short)((I2C1_RXDATA[0] * 256) + I2C1_RXDATA[1]); // Return Data |
PowerIC | 0:a13d6826cf66 | 111 | } |
PowerIC | 0:a13d6826cf66 | 112 | |
PowerIC | 0:a13d6826cf66 | 113 | return RESPONSE; |
PowerIC | 0:a13d6826cf66 | 114 | } |
PowerIC | 0:a13d6826cf66 | 115 | |
PowerIC | 0:a13d6826cf66 | 116 | char I2C_Write_Word(char port, char address, char reg, char hbyte, char lbyte) |
PowerIC | 0:a13d6826cf66 | 117 | { |
PowerIC | 0:a13d6826cf66 | 118 | char RESPONSE = 0x00; |
PowerIC | 0:a13d6826cf66 | 119 | port = I2C_PORT1; |
PowerIC | 0:a13d6826cf66 | 120 | |
PowerIC | 0:a13d6826cf66 | 121 | if(port == I2C_PORT2) |
PowerIC | 0:a13d6826cf66 | 122 | { |
PowerIC | 0:a13d6826cf66 | 123 | //I2C2_TXDATA[0] = reg; // Register |
PowerIC | 0:a13d6826cf66 | 124 | //I2C2_TXDATA[1] = hbyte; // HB Data |
PowerIC | 0:a13d6826cf66 | 125 | //I2C2_TXDATA[2] = lbyte; // LB Data |
PowerIC | 0:a13d6826cf66 | 126 | //RESPONSE = i2c2.write(address,I2C2_TXDATA,3); // Echo ACK/NACK |
PowerIC | 0:a13d6826cf66 | 127 | } |
PowerIC | 0:a13d6826cf66 | 128 | else |
PowerIC | 0:a13d6826cf66 | 129 | { |
PowerIC | 0:a13d6826cf66 | 130 | I2C1_TXDATA[0] = reg; // Register |
PowerIC | 0:a13d6826cf66 | 131 | I2C1_TXDATA[1] = hbyte; // HB Data |
PowerIC | 0:a13d6826cf66 | 132 | I2C1_TXDATA[2] = lbyte; // LB Data |
PowerIC | 0:a13d6826cf66 | 133 | RESPONSE = i2c1.write(address,I2C1_TXDATA,3); // Echo ACK/NACK |
PowerIC | 0:a13d6826cf66 | 134 | } |
PowerIC | 0:a13d6826cf66 | 135 | |
PowerIC | 0:a13d6826cf66 | 136 | return RESPONSE; |
PowerIC | 0:a13d6826cf66 | 137 | } |
PowerIC | 0:a13d6826cf66 | 138 | |
PowerIC | 0:a13d6826cf66 | 139 | void I2C_Write_Byte(char address, char data) |
PowerIC | 0:a13d6826cf66 | 140 | { |
PowerIC | 0:a13d6826cf66 | 141 | I2C1_TXDATA[0] = data; // Data |
PowerIC | 0:a13d6826cf66 | 142 | (void)i2c1.write(address,I2C1_TXDATA,1); |
PowerIC | 0:a13d6826cf66 | 143 | wait_us(10); // Wait for Mux to settle |
PowerIC | 0:a13d6826cf66 | 144 | } |
PowerIC | 0:a13d6826cf66 | 145 | |
PowerIC | 0:a13d6826cf66 | 146 | |
PowerIC | 0:a13d6826cf66 | 147 | char I2C_Write_Block(char port, char address, char nbytes) |
PowerIC | 0:a13d6826cf66 | 148 | { |
PowerIC | 0:a13d6826cf66 | 149 | char RESPONSE = 0x00; |
PowerIC | 0:a13d6826cf66 | 150 | port = I2C_PORT1; |
PowerIC | 0:a13d6826cf66 | 151 | |
PowerIC | 0:a13d6826cf66 | 152 | if(port == I2C_PORT2) |
PowerIC | 0:a13d6826cf66 | 153 | { |
PowerIC | 0:a13d6826cf66 | 154 | //RESPONSE = i2c2.write(address,I2C2_TXDATA,nbytes + 1); // Echo ACK/NACK |
PowerIC | 0:a13d6826cf66 | 155 | } |
PowerIC | 0:a13d6826cf66 | 156 | else |
PowerIC | 0:a13d6826cf66 | 157 | { |
PowerIC | 0:a13d6826cf66 | 158 | RESPONSE = i2c1.write(address,I2C1_TXDATA,nbytes + 1); // Echo ACK/NACK |
PowerIC | 0:a13d6826cf66 | 159 | } |
PowerIC | 0:a13d6826cf66 | 160 | |
PowerIC | 0:a13d6826cf66 | 161 | return RESPONSE; |
PowerIC | 0:a13d6826cf66 | 162 | } |
PowerIC | 0:a13d6826cf66 | 163 | |
PowerIC | 0:a13d6826cf66 | 164 | |
PowerIC | 0:a13d6826cf66 | 165 | /* |
PowerIC | 0:a13d6826cf66 | 166 | char I2C_Write_Fast(char port, char address, char daca_hb, char daca_lb, char dacb_hb, char dacb_lb, char dacc_hb, char dacc_lb, char dacd_hb, char dacd_lb) |
PowerIC | 0:a13d6826cf66 | 167 | { |
PowerIC | 0:a13d6826cf66 | 168 | char RESPONSE = 0x00; |
PowerIC | 0:a13d6826cf66 | 169 | //port = I2C_PORT1; |
PowerIC | 0:a13d6826cf66 | 170 | |
PowerIC | 0:a13d6826cf66 | 171 | if(port == I2C_PORT2) |
PowerIC | 0:a13d6826cf66 | 172 | { |
PowerIC | 0:a13d6826cf66 | 173 | I2C2_TXDATA[0] = daca_hb; // DAC_A High Byte |
PowerIC | 0:a13d6826cf66 | 174 | I2C2_TXDATA[1] = daca_lb; // DAC_A Low Byte |
PowerIC | 0:a13d6826cf66 | 175 | I2C2_TXDATA[2] = dacb_hb; // DAC_B High Byte |
PowerIC | 0:a13d6826cf66 | 176 | I2C2_TXDATA[3] = dacb_lb; // DAC_B Low Byte |
PowerIC | 0:a13d6826cf66 | 177 | I2C2_TXDATA[4] = dacc_hb; // DAC_C High Byte |
PowerIC | 0:a13d6826cf66 | 178 | I2C2_TXDATA[5] = dacc_lb; // DAC_C Low Byte |
PowerIC | 0:a13d6826cf66 | 179 | I2C2_TXDATA[6] = dacd_hb; // DAC_D High Byte |
PowerIC | 0:a13d6826cf66 | 180 | I2C2_TXDATA[7] = dacd_lb; // DAC_D Low Byte |
PowerIC | 0:a13d6826cf66 | 181 | RESPONSE = i2c2.write(address,I2C2_TXDATA,3); // Echo ACK/NACK |
PowerIC | 0:a13d6826cf66 | 182 | } |
PowerIC | 0:a13d6826cf66 | 183 | else |
PowerIC | 0:a13d6826cf66 | 184 | { |
PowerIC | 0:a13d6826cf66 | 185 | I2C1_TXDATA[0] = daca_hb; // DAC_A High Byte |
PowerIC | 0:a13d6826cf66 | 186 | I2C1_TXDATA[1] = daca_lb; // DAC_A Low Byte |
PowerIC | 0:a13d6826cf66 | 187 | I2C1_TXDATA[2] = dacb_hb; // DAC_B High Byte |
PowerIC | 0:a13d6826cf66 | 188 | I2C1_TXDATA[3] = dacb_lb; // DAC_B Low Byte |
PowerIC | 0:a13d6826cf66 | 189 | I2C1_TXDATA[4] = dacc_hb; // DAC_C High Byte |
PowerIC | 0:a13d6826cf66 | 190 | I2C1_TXDATA[5] = dacc_lb; // DAC_C Low Byte |
PowerIC | 0:a13d6826cf66 | 191 | I2C1_TXDATA[6] = dacd_hb; // DAC_D High Byte |
PowerIC | 0:a13d6826cf66 | 192 | I2C1_TXDATA[7] = dacd_lb; // DAC_D Low Byte |
PowerIC | 0:a13d6826cf66 | 193 | RESPONSE = i2c1.write(address,I2C1_TXDATA,8); // Echo ACK/NACK |
PowerIC | 0:a13d6826cf66 | 194 | } |
PowerIC | 0:a13d6826cf66 | 195 | |
PowerIC | 0:a13d6826cf66 | 196 | return RESPONSE; |
PowerIC | 0:a13d6826cf66 | 197 | } |
PowerIC | 0:a13d6826cf66 | 198 | */ |
PowerIC | 0:a13d6826cf66 | 199 | |
PowerIC | 0:a13d6826cf66 | 200 | /* |
PowerIC | 0:a13d6826cf66 | 201 | char I2C_Write_Block(char port, char address, char reg, char byte1, char byte2, char byte3, char byte4, char byte5, char byte6, char byte7, char byte8) |
PowerIC | 0:a13d6826cf66 | 202 | { |
PowerIC | 0:a13d6826cf66 | 203 | char RESPONSE = 0x00; |
PowerIC | 0:a13d6826cf66 | 204 | //port = I2C_PORT1; |
PowerIC | 0:a13d6826cf66 | 205 | |
PowerIC | 0:a13d6826cf66 | 206 | if(port == I2C_PORT2) |
PowerIC | 0:a13d6826cf66 | 207 | { |
PowerIC | 0:a13d6826cf66 | 208 | I2C2_TXDATA[0] = reg; // Register |
PowerIC | 0:a13d6826cf66 | 209 | I2C2_TXDATA[1] = byte1; // Byte 1 |
PowerIC | 0:a13d6826cf66 | 210 | I2C2_TXDATA[2] = byte2; // Byte 2 |
PowerIC | 0:a13d6826cf66 | 211 | I2C2_TXDATA[3] = byte3; // Byte 3 |
PowerIC | 0:a13d6826cf66 | 212 | I2C2_TXDATA[4] = byte4; // Byte 4 |
PowerIC | 0:a13d6826cf66 | 213 | I2C2_TXDATA[5] = byte5; // Byte 5 |
PowerIC | 0:a13d6826cf66 | 214 | I2C2_TXDATA[6] = byte6; // Byte 6 |
PowerIC | 0:a13d6826cf66 | 215 | I2C2_TXDATA[7] = byte7; // Byte 7 |
PowerIC | 0:a13d6826cf66 | 216 | I2C2_TXDATA[8] = byte8; // Byte 8 |
PowerIC | 0:a13d6826cf66 | 217 | RESPONSE = i2c2.write(address,I2C2_TXDATA,3); // Echo ACK/NACK |
PowerIC | 0:a13d6826cf66 | 218 | } |
PowerIC | 0:a13d6826cf66 | 219 | else |
PowerIC | 0:a13d6826cf66 | 220 | { |
PowerIC | 0:a13d6826cf66 | 221 | I2C1_TXDATA[0] = reg; // Register |
PowerIC | 0:a13d6826cf66 | 222 | I2C1_TXDATA[1] = byte1; // Byte 1 |
PowerIC | 0:a13d6826cf66 | 223 | I2C1_TXDATA[2] = byte2; // Byte 2 |
PowerIC | 0:a13d6826cf66 | 224 | I2C1_TXDATA[3] = byte3; // Byte 3 |
PowerIC | 0:a13d6826cf66 | 225 | I2C1_TXDATA[4] = byte4; // Byte 4 |
PowerIC | 0:a13d6826cf66 | 226 | I2C1_TXDATA[5] = byte5; // Byte 5 |
PowerIC | 0:a13d6826cf66 | 227 | I2C1_TXDATA[6] = byte6; // Byte 6 |
PowerIC | 0:a13d6826cf66 | 228 | I2C1_TXDATA[7] = byte7; // Byte 7 |
PowerIC | 0:a13d6826cf66 | 229 | I2C1_TXDATA[8] = byte8; // Byte 8 |
PowerIC | 0:a13d6826cf66 | 230 | RESPONSE = i2c1.write(address,I2C1_TXDATA,9); // Echo ACK/NACK |
PowerIC | 0:a13d6826cf66 | 231 | } |
PowerIC | 0:a13d6826cf66 | 232 | |
PowerIC | 0:a13d6826cf66 | 233 | return RESPONSE; |
PowerIC | 0:a13d6826cf66 | 234 | } |
PowerIC | 0:a13d6826cf66 | 235 | */ |
PowerIC | 0:a13d6826cf66 | 236 | |
PowerIC | 0:a13d6826cf66 | 237 | |
PowerIC | 0:a13d6826cf66 | 238 | /* |
PowerIC | 0:a13d6826cf66 | 239 | unsigned short I2C_Read_Block(char address, char reg, int nbytes) |
PowerIC | 0:a13d6826cf66 | 240 | { |
PowerIC | 0:a13d6826cf66 | 241 | unsigned short RESPONSE = 0x0000; |
PowerIC | 0:a13d6826cf66 | 242 | |
PowerIC | 0:a13d6826cf66 | 243 | I2C1_TXDATA[0] = reg; // Which register? |
PowerIC | 0:a13d6826cf66 | 244 | (void)i2c.write(address, I2C1_TXDATA, 1, true); |
PowerIC | 0:a13d6826cf66 | 245 | (void)i2c.read(address,I2C1_RXDATA,nbytes); |
PowerIC | 0:a13d6826cf66 | 246 | |
PowerIC | 0:a13d6826cf66 | 247 | switch(reg) |
PowerIC | 0:a13d6826cf66 | 248 | { |
PowerIC | 0:a13d6826cf66 | 249 | case DAC_A: |
PowerIC | 0:a13d6826cf66 | 250 | RESPONSE = (unsigned short)(((I2C1_RXDATA[1] & 0x0F) * 256) + I2C1_RXDATA[2]); // Return DAC A Data |
PowerIC | 0:a13d6826cf66 | 251 | break; |
PowerIC | 0:a13d6826cf66 | 252 | case DAC_B: |
PowerIC | 0:a13d6826cf66 | 253 | RESPONSE = (unsigned short)(((I2C1_RXDATA[7] & 0x0F) * 256) + I2C1_RXDATA[8]); // Return DAC B Data |
PowerIC | 0:a13d6826cf66 | 254 | break; |
PowerIC | 0:a13d6826cf66 | 255 | case DAC_C: |
PowerIC | 0:a13d6826cf66 | 256 | RESPONSE = (unsigned short)(((I2C1_RXDATA[13] & 0x0F) * 256) + I2C1_RXDATA[14]); // Return DAC C Data |
PowerIC | 0:a13d6826cf66 | 257 | break; |
PowerIC | 0:a13d6826cf66 | 258 | case DAC_D: |
PowerIC | 0:a13d6826cf66 | 259 | RESPONSE = (unsigned short)(((I2C1_RXDATA[19] & 0x0F) * 256) + I2C1_RXDATA[20]); // Return DAC D Data |
PowerIC | 0:a13d6826cf66 | 260 | break; |
PowerIC | 0:a13d6826cf66 | 261 | default: |
PowerIC | 0:a13d6826cf66 | 262 | break; |
PowerIC | 0:a13d6826cf66 | 263 | } |
PowerIC | 0:a13d6826cf66 | 264 | |
PowerIC | 0:a13d6826cf66 | 265 | return RESPONSE; |
PowerIC | 0:a13d6826cf66 | 266 | } |
PowerIC | 0:a13d6826cf66 | 267 | */ |