i2c.h
Go to the documentation of this file.
1 /* --COPYRIGHT--,BSD
2  * Copyright (c) 2017, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  * --/COPYRIGHT--*/
32 #ifndef I2C_H_
33 #define I2C_H_
34 
35 //*****************************************************************************
36 //
39 //
40 //*****************************************************************************
41 
42 //*****************************************************************************
43 //
44 // If building with a C++ compiler, make all of the definitions in this header
45 // have a C binding.
46 //
47 //*****************************************************************************
48 #ifdef __cplusplus
49 extern "C"
50 {
51 #endif
52 
53 #include <stdint.h>
54 #include <stdbool.h>
55 #include <ti/devices/msp432p4xx/inc/msp.h>
56 #include <ti/devices/msp432p4xx/driverlib/eusci.h>
57 
58 #define EUSCI_B_I2C_NO_AUTO_STOP EUSCI_B_CTLW1_ASTP_0
59 #define EUSCI_B_I2C_SET_BYTECOUNT_THRESHOLD_FLAG EUSCI_B_CTLW1_ASTP_1
60 #define EUSCI_B_I2C_SEND_STOP_AUTOMATICALLY_ON_BYTECOUNT_THRESHOLD \
61  EUSCI_B_CTLW1_ASTP_2
62 
63 #define EUSCI_B_I2C_SET_DATA_RATE_1MBPS 1000000
64 #define EUSCI_B_I2C_SET_DATA_RATE_400KBPS 400000
65 #define EUSCI_B_I2C_SET_DATA_RATE_100KBPS 100000
66 
67 #define EUSCI_B_I2C_CLOCKSOURCE_ACLK EUSCI_B_CTLW0_SSEL__ACLK
68 #define EUSCI_B_I2C_CLOCKSOURCE_SMCLK EUSCI_B_CTLW0_SSEL__SMCLK
69 
70 #define EUSCI_B_I2C_OWN_ADDRESS_OFFSET0 0x00
71 #define EUSCI_B_I2C_OWN_ADDRESS_OFFSET1 0x02
72 #define EUSCI_B_I2C_OWN_ADDRESS_OFFSET2 0x04
73 #define EUSCI_B_I2C_OWN_ADDRESS_OFFSET3 0x06
74 
75 #define EUSCI_B_I2C_OWN_ADDRESS_DISABLE 0x00
76 #define EUSCI_B_I2C_OWN_ADDRESS_ENABLE EUSCI_B_I2COA0_OAEN
77 
78 #define EUSCI_B_I2C_TRANSMIT_MODE EUSCI_B_CTLW0_TR
79 #define EUSCI_B_I2C_RECEIVE_MODE 0x00
80 
81 #define EUSCI_B_I2C_NAK_INTERRUPT EUSCI_B_IE_NACKIE
82 #define EUSCI_B_I2C_ARBITRATIONLOST_INTERRUPT EUSCI_B_IE_ALIE
83 #define EUSCI_B_I2C_STOP_INTERRUPT EUSCI_B_IE_STPIE
84 #define EUSCI_B_I2C_START_INTERRUPT EUSCI_B_IE_STTIE
85 #define EUSCI_B_I2C_TRANSMIT_INTERRUPT0 EUSCI_B_IE_TXIE0
86 #define EUSCI_B_I2C_TRANSMIT_INTERRUPT1 EUSCI_B_IE_TXIE1
87 #define EUSCI_B_I2C_TRANSMIT_INTERRUPT2 EUSCI_B_IE_TXIE2
88 #define EUSCI_B_I2C_TRANSMIT_INTERRUPT3 EUSCI_B_IE_TXIE3
89 #define EUSCI_B_I2C_RECEIVE_INTERRUPT0 EUSCI_B_IE_RXIE0
90 #define EUSCI_B_I2C_RECEIVE_INTERRUPT1 EUSCI_B_IE_RXIE1
91 #define EUSCI_B_I2C_RECEIVE_INTERRUPT2 EUSCI_B_IE_RXIE2
92 #define EUSCI_B_I2C_RECEIVE_INTERRUPT3 EUSCI_B_IE_RXIE3
93 #define EUSCI_B_I2C_BIT9_POSITION_INTERRUPT EUSCI_B_IE_BIT9IE
94 #define EUSCI_B_I2C_CLOCK_LOW_TIMEOUT_INTERRUPT EUSCI_B_IE_CLTOIE
95 #define EUSCI_B_I2C_BYTE_COUNTER_INTERRUPT EUSCI_B_IE_BCNTIE
96 
97 #define EUSCI_B_I2C_BUS_BUSY EUSCI_B_STATW_BBUSY
98 #define EUSCI_B_I2C_BUS_NOT_BUSY 0x00
99 
100 #define EUSCI_B_I2C_STOP_SEND_COMPLETE 0x00
101 #define EUSCI_B_I2C_SENDING_STOP EUSCI_B_CTLW0_TXSTP
102 
103 #define EUSCI_B_I2C_START_SEND_COMPLETE 0x00
104 #define EUSCI_B_I2C_SENDING_START EUSCI_B_CTLW0_TXSTT
105 
106 //*****************************************************************************
107 //
114 //
115 //*****************************************************************************
116 typedef struct
117 {
118  uint_fast8_t selectClockSource;
119  uint32_t i2cClk;
120  uint32_t dataRate;
121  uint_fast8_t byteCounterThreshold;
122  uint_fast8_t autoSTOPGeneration;
124 
125 
126 //*****************************************************************************
127 //
173 //
174 //*****************************************************************************
175 extern void I2C_initMaster(uint32_t moduleInstance,
176  const eUSCI_I2C_MasterConfig *config);
177 
178 //*****************************************************************************
179 //
217 //
218 //*****************************************************************************
219 extern void I2C_initSlave(uint32_t moduleInstance, uint_fast16_t slaveAddress,
220  uint_fast8_t slaveAddressOffset, uint32_t slaveOwnAddressEnable);
221 
222 //*****************************************************************************
223 //
240 //
241 //*****************************************************************************
242 extern void I2C_enableModule(uint32_t moduleInstance);
243 
244 //*****************************************************************************
245 //
262 //
263 //*****************************************************************************
264 extern void I2C_disableModule(uint32_t moduleInstance);
265 
266 //*****************************************************************************
267 //
287 //
288 //*****************************************************************************
289 extern void I2C_setSlaveAddress(uint32_t moduleInstance,
290  uint_fast16_t slaveAddress);
291 
292 //*****************************************************************************
293 //
313 //
314 //*****************************************************************************
315 extern void I2C_setMode(uint32_t moduleInstance, uint_fast8_t mode);
316 
317 //*****************************************************************************
318 //
340 //
341 //*****************************************************************************
342 extern uint_fast8_t I2C_getMode(uint32_t moduleInstance);
343 
344 //*****************************************************************************
345 //
365 //
366 //*****************************************************************************
367 extern void I2C_slavePutData(uint32_t moduleInstance, uint8_t transmitData);
368 
369 //*****************************************************************************
370 //
388 //
389 //*****************************************************************************
390 extern uint8_t I2C_slaveGetData(uint32_t moduleInstance);
391 
392 //*****************************************************************************
393 //
413 //
414 //*****************************************************************************
415 extern uint8_t I2C_isBusBusy(uint32_t moduleInstance);
416 
417 //*****************************************************************************
418 //
443 //
444 //*****************************************************************************
445 extern void I2C_masterSendSingleByte(uint32_t moduleInstance, uint8_t txData);
446 
447 //*****************************************************************************
448 //
474 //
475 //*****************************************************************************
476 extern bool I2C_masterSendSingleByteWithTimeout(uint32_t moduleInstance,
477  uint8_t txData, uint32_t timeout);
478 
479 //*****************************************************************************
480 //
504 //
505 //*****************************************************************************
506 extern void I2C_masterSendMultiByteStart(uint32_t moduleInstance,
507  uint8_t txData);
508 
509 //*****************************************************************************
510 //
535 //
536 //*****************************************************************************
537 extern bool I2C_masterSendMultiByteStartWithTimeout(uint32_t moduleInstance,
538  uint8_t txData, uint32_t timeout);
539 
540 //*****************************************************************************
541 //
563 //
564 //*****************************************************************************
565 extern void I2C_masterSendMultiByteNext(uint32_t moduleInstance,
566  uint8_t txData);
567 
568 //*****************************************************************************
569 //
593 //
594 //*****************************************************************************
595 extern bool I2C_masterSendMultiByteNextWithTimeout(uint32_t moduleInstance,
596  uint8_t txData, uint32_t timeout);
597 
598 //*****************************************************************************
599 //
623 //
624 //*****************************************************************************
625 extern bool I2C_masterSendMultiByteFinish(uint32_t moduleInstance,
626  uint8_t txData);
627 
628 //*****************************************************************************
629 //
654 //
655 //*****************************************************************************
656 extern bool I2C_masterSendMultiByteFinishWithTimeout(uint32_t moduleInstance,
657  uint8_t txData, uint32_t timeout);
658 
659 //*****************************************************************************
660 //
682 //
683 //*****************************************************************************
684 extern void I2C_masterSendMultiByteStop(uint32_t moduleInstance);
685 
686 //*****************************************************************************
687 //
711 //
712 //*****************************************************************************
713 extern bool I2C_masterSendMultiByteStopWithTimeout(uint32_t moduleInstance,
714  uint32_t timeout);
715 
716 //*****************************************************************************
717 //
737 //
738 //*****************************************************************************
739 extern void I2C_masterReceiveStart(uint32_t moduleInstance);
740 
741 //*****************************************************************************
742 //
762 //
763 //*****************************************************************************
764 extern uint8_t I2C_masterReceiveMultiByteNext(uint32_t moduleInstance);
765 
766 //*****************************************************************************
767 //
789 //
790 //*****************************************************************************
791 extern uint8_t I2C_masterReceiveMultiByteFinish(uint32_t moduleInstance);
792 
793 //*****************************************************************************
794 //
819 //
820 //*****************************************************************************
821 extern bool I2C_masterReceiveMultiByteFinishWithTimeout(uint32_t moduleInstance,
822  uint8_t *txData, uint32_t timeout);
823 
824 //*****************************************************************************
825 //
844 //
845 //*****************************************************************************
846 extern void I2C_masterReceiveMultiByteStop(uint32_t moduleInstance);
847 
848 //*****************************************************************************
849 //
872 //
873 //*****************************************************************************
874 extern uint8_t I2C_masterReceiveSingleByte(uint32_t moduleInstance);
875 
876 //*****************************************************************************
877 //
895 //
896 //*****************************************************************************
897 extern uint8_t I2C_masterReceiveSingle(uint32_t moduleInstance);
898 
899 //*****************************************************************************
900 //
918 //
919 //*****************************************************************************
920 extern uint32_t I2C_getReceiveBufferAddressForDMA(uint32_t moduleInstance);
921 
922 //*****************************************************************************
923 //
941 //
942 //*****************************************************************************
943 extern uint32_t I2C_getTransmitBufferAddressForDMA(uint32_t moduleInstance);
944 
945 //*****************************************************************************
946 //
966 //
967 //*****************************************************************************
968 extern uint8_t I2C_masterIsStopSent(uint32_t moduleInstance);
969 
970 //*****************************************************************************
971 //
990 //
991 //*****************************************************************************
992 extern bool I2C_masterIsStartSent(uint32_t moduleInstance);
993 
994 //*****************************************************************************
995 //
1014 //
1015 //*****************************************************************************
1016 extern void I2C_masterSendStart(uint32_t moduleInstance);
1017 
1018 //*****************************************************************************
1019 //
1040 //
1041 //*****************************************************************************
1042 extern void I2C_enableMultiMasterMode(uint32_t moduleInstance);
1043 
1044 //*****************************************************************************
1045 //
1066 //
1067 //*****************************************************************************
1068 extern void I2C_disableMultiMasterMode(uint32_t moduleInstance);
1069 
1070 //*****************************************************************************
1071 //
1113 //
1114 //*****************************************************************************
1115 extern void I2C_enableInterrupt(uint32_t moduleInstance, uint_fast16_t mask);
1116 
1117 //*****************************************************************************
1118 //
1160 //
1161 //*****************************************************************************
1162 extern void I2C_disableInterrupt(uint32_t moduleInstance, uint_fast16_t mask);
1163 
1164 //*****************************************************************************
1165 //
1190 //
1191 //*****************************************************************************
1192 extern void I2C_clearInterruptFlag(uint32_t moduleInstance, uint_fast16_t mask);
1193 
1194 //*****************************************************************************
1195 //
1245 //
1246 //*****************************************************************************
1247 extern uint_fast16_t I2C_getInterruptStatus(uint32_t moduleInstance, uint16_t mask);
1248 
1249 //*****************************************************************************
1250 //
1282 //
1283 //*****************************************************************************
1284 extern uint_fast16_t I2C_getEnabledInterruptStatus(uint32_t moduleInstance);
1285 
1286 //*****************************************************************************
1287 //
1313 //
1314 //*****************************************************************************
1315 extern void I2C_registerInterrupt(uint32_t moduleInstance,
1316  void (*intHandler)(void));
1317 
1318 //*****************************************************************************
1319 //
1340 //
1341 //*****************************************************************************
1342 extern void I2C_unregisterInterrupt(uint32_t moduleInstance);
1343 
1344 
1345 //*****************************************************************************
1346 //
1360 //
1361 //*****************************************************************************
1362 extern void I2C_slaveSendNAK(uint32_t moduleInstance);
1363 
1364 /* Backwards Compatibility Layer */
1365 #define EUSCI_B_I2C_slaveInit I2C_initSlave
1366 #define EUSCI_B_I2C_enable I2C_enableModule
1367 #define EUSCI_B_I2C_disable I2C_disableModule
1368 #define EUSCI_B_I2C_setSlaveAddress I2C_setSlaveAddress
1369 #define EUSCI_B_I2C_setMode I2C_setMode
1370 #define EUSCI_B_I2C_getMode I2C_getMode
1371 #define EUSCI_B_I2C_slaveDataPut I2C_slavePutData
1372 #define EUSCI_B_I2C_slaveDataGet I2C_slaveGetData
1373 #define EUSCI_B_I2C_isBusBusy I2C_isBusBusy
1374 #define EUSCI_B_I2C_masterIsStopSent I2C_masterIsStopSent
1375 #define EUSCI_B_I2C_masterIsStartSent I2C_masterIsStartSent
1376 #define EUSCI_B_I2C_enableInterrupt I2C_enableInterrupt
1377 #define EUSCI_B_I2C_disableInterrupt I2C_disableInterrupt
1378 #define EUSCI_B_I2C_clearInterruptFlag I2C_clearInterruptFlag
1379 #define EUSCI_B_I2C_getInterruptStatus I2C_getEnabledInterruptStatus
1380 #define EUSCI_B_I2C_masterSendSingleByte I2C_masterSendSingleByte
1381 #define EUSCI_B_I2C_masterReceiveSingleByte I2C_masterReceiveSingleByte
1382 #define EUSCI_B_I2C_masterSendSingleByteWithTimeout I2C_masterSendSingleByteWithTimeout
1383 #define EUSCI_B_I2C_masterMultiByteSendStart I2C_masterSendMultiByteStart
1384 #define EUSCI_B_I2C_masterMultiByteSendStartWithTimeout I2C_masterSendMultiByteStartWithTimeout
1385 #define EUSCI_B_I2C_masterMultiByteSendNext I2C_masterSendMultiByteNext
1386 #define EUSCI_B_I2C_masterMultiByteSendNextWithTimeout I2C_masterSendMultiByteNextWithTimeout
1387 #define EUSCI_B_I2C_masterMultiByteSendFinish I2C_masterSendMultiByteFinish
1388 #define EUSCI_B_I2C_masterMultiByteSendFinishWithTimeout I2C_masterSendMultiByteFinishWithTimeout
1389 #define EUSCI_B_I2C_masterSendStart I2C_masterSendStart
1390 #define EUSCI_B_I2C_masterMultiByteSendStop I2C_masterSendMultiByteStop
1391 #define EUSCI_B_I2C_masterMultiByteSendStopWithTimeout I2C_masterSendMultiByteStopWithTimeout
1392 #define EUSCI_B_I2C_masterReceiveStart I2C_masterReceiveStart
1393 #define EUSCI_B_I2C_masterMultiByteReceiveNext I2C_masterReceiveMultiByteNext
1394 #define EUSCI_B_I2C_masterMultiByteReceiveFinish I2C_masterReceiveMultiByteFinish
1395 #define EUSCI_B_I2C_masterMultiByteReceiveFinishWithTimeout I2C_masterReceiveMultiByteFinishWithTimeout
1396 #define EUSCI_B_I2C_masterMultiByteReceiveStop I2C_masterReceiveMultiByteStop
1397 #define EUSCI_B_I2C_enableMultiMasterMode I2C_enableMultiMasterMode
1398 #define EUSCI_B_I2C_disableMultiMasterMode I2C_disableMultiMasterMode
1399 #define EUSCI_B_I2C_masterSingleReceive I2C_masterReceiveSingle
1400 #define EUSCI_B_I2C_getReceiveBufferAddressForDMA I2C_getReceiveBufferAddressForDMA
1401 #define EUSCI_B_I2C_getTransmitBufferAddressForDMA I2C_getTransmitBufferAddressForDMA
1402 
1403 
1404 //*****************************************************************************
1405 //
1406 // Mark the end of the C bindings section for C++ compilers.
1407 //
1408 //*****************************************************************************
1409 #ifdef __cplusplus
1410 }
1411 #endif
1412 
1413 //*****************************************************************************
1414 //
1415 // Close the Doxygen group.
1417 //
1418 //*****************************************************************************
1419 
1420 #endif /* I2C_H_ */
1421 
void I2C_slaveSendNAK(uint32_t moduleInstance)
Definition: i2c.c:790
bool I2C_masterSendMultiByteFinishWithTimeout(uint32_t moduleInstance, uint8_t txData, uint32_t timeout)
Definition: i2c.c:406
bool I2C_masterSendMultiByteStartWithTimeout(uint32_t moduleInstance, uint8_t txData, uint32_t timeout)
Definition: i2c.c:300
void I2C_setMode(uint32_t moduleInstance, uint_fast8_t mode)
Definition: i2c.c:138
uint8_t I2C_masterReceiveSingleByte(uint32_t moduleInstance)
Definition: i2c.c:149
void I2C_disableInterrupt(uint32_t moduleInstance, uint_fast16_t mask)
Definition: i2c.c:647
uint32_t dataRate
Definition: i2c.h:120
bool I2C_masterSendMultiByteStopWithTimeout(uint32_t moduleInstance, uint32_t timeout)
Definition: i2c.c:463
void I2C_masterReceiveMultiByteStop(uint32_t moduleInstance)
Definition: i2c.c:557
uint8_t I2C_masterReceiveMultiByteFinish(uint32_t moduleInstance)
Definition: i2c.c:500
uint8_t I2C_masterReceiveSingle(uint32_t moduleInstance)
Definition: i2c.c:564
uint_fast8_t byteCounterThreshold
Definition: i2c.h:121
uint8_t I2C_isBusBusy(uint32_t moduleInstance)
Definition: i2c.c:180
uint32_t I2C_getTransmitBufferAddressForDMA(uint32_t moduleInstance)
Definition: i2c.c:583
uint_fast8_t autoSTOPGeneration
Definition: i2c.h:122
bool I2C_masterIsStartSent(uint32_t moduleInstance)
Definition: i2c.c:594
uint8_t I2C_masterIsStopSent(uint32_t moduleInstance)
Definition: i2c.c:588
bool I2C_masterSendSingleByteWithTimeout(uint32_t moduleInstance, uint8_t txData, uint32_t timeout)
Definition: i2c.c:222
bool I2C_masterSendMultiByteNextWithTimeout(uint32_t moduleInstance, uint8_t txData, uint32_t timeout)
Definition: i2c.c:352
uint_fast16_t I2C_getEnabledInterruptStatus(uint32_t moduleInstance)
Definition: i2c.c:720
void I2C_masterSendMultiByteStart(uint32_t moduleInstance, uint8_t txData)
Definition: i2c.c:275
bool I2C_masterReceiveMultiByteFinishWithTimeout(uint32_t moduleInstance, uint8_t *txData, uint32_t timeout)
Definition: i2c.c:521
void I2C_registerInterrupt(uint32_t moduleInstance, void(*intHandler)(void))
Definition: i2c.c:732
void I2C_slavePutData(uint32_t moduleInstance, uint8_t transmitData)
Definition: i2c.c:168
uint_fast8_t I2C_getMode(uint32_t moduleInstance)
Gets the mode of the I2C device.
Definition: i2c.c:726
void I2C_masterReceiveStart(uint32_t moduleInstance)
Definition: i2c.c:488
uint8_t I2C_masterReceiveMultiByteNext(uint32_t moduleInstance)
Definition: i2c.c:495
void I2C_initMaster(uint32_t moduleInstance, const eUSCI_I2C_MasterConfig *config)
Definition: i2c.c:36
uint_fast16_t I2C_getInterruptStatus(uint32_t moduleInstance, uint16_t mask)
Definition: i2c.c:696
void I2C_masterSendMultiByteNext(uint32_t moduleInstance, uint8_t txData)
Definition: i2c.c:337
void I2C_initSlave(uint32_t moduleInstance, uint_fast16_t slaveAddress, uint_fast8_t slaveAddressOffset, uint32_t slaveOwnAddressEnable)
Definition: i2c.c:92
void I2C_clearInterruptFlag(uint32_t moduleInstance, uint_fast16_t mask)
Definition: i2c.c:672
void I2C_masterSendSingleByte(uint32_t moduleInstance, uint8_t txData)
Definition: i2c.c:187
void I2C_unregisterInterrupt(uint32_t moduleInstance)
Definition: i2c.c:761
uint32_t i2cClk
Definition: i2c.h:119
void I2C_enableMultiMasterMode(uint32_t moduleInstance)
Definition: i2c.c:606
uint32_t I2C_getReceiveBufferAddressForDMA(uint32_t moduleInstance)
Definition: i2c.c:578
void I2C_masterSendStart(uint32_t moduleInstance)
Definition: i2c.c:600
void I2C_enableInterrupt(uint32_t moduleInstance, uint_fast16_t mask)
Definition: i2c.c:622
uint8_t I2C_slaveGetData(uint32_t moduleInstance)
Definition: i2c.c:174
Definition: i2c.h:116
void I2C_masterSendMultiByteStop(uint32_t moduleInstance)
Definition: i2c.c:447
void I2C_setSlaveAddress(uint32_t moduleInstance, uint_fast16_t slaveAddress)
Definition: i2c.c:132
void I2C_disableModule(uint32_t moduleInstance)
Definition: i2c.c:124
void I2C_disableMultiMasterMode(uint32_t moduleInstance)
Definition: i2c.c:614
uint_fast8_t selectClockSource
Definition: i2c.h:118
bool I2C_masterSendMultiByteFinish(uint32_t moduleInstance, uint8_t txData)
Definition: i2c.c:376
void I2C_enableModule(uint32_t moduleInstance)
Definition: i2c.c:117

Copyright 2017, Texas Instruments Incorporated