The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_WIZWIKI_W7500/TOOLCHAIN_ARM_STD/W7500x_i2c.h@171:3a7713b1edbc, 2018-11-08 (annotated)
- Committer:
- AnnaBridge
- Date:
- Thu Nov 08 11:45:42 2018 +0000
- Revision:
- 171:3a7713b1edbc
- Parent:
- TARGET_WIZWIKI_W7500ECO/TARGET_WIZNET/TARGET_W7500x/W7500x_Peripheral_Library/W7500x_i2c.h@109:9296ab0bfc11
mbed library. Release version 164
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Kojto | 109:9296ab0bfc11 | 1 | /* mbed Microcontroller Library |
Kojto | 109:9296ab0bfc11 | 2 | ******************************************************************************* |
Kojto | 109:9296ab0bfc11 | 3 | * Copyright (c) 2015 WIZnet Co.,Ltd. All rights reserved. |
Kojto | 109:9296ab0bfc11 | 4 | * All rights reserved. |
Kojto | 109:9296ab0bfc11 | 5 | * |
Kojto | 109:9296ab0bfc11 | 6 | * Redistribution and use in source and binary forms, with or without |
Kojto | 109:9296ab0bfc11 | 7 | * modification, are permitted provided that the following conditions are met: |
Kojto | 109:9296ab0bfc11 | 8 | * |
Kojto | 109:9296ab0bfc11 | 9 | * 1. Redistributions of source code must retain the above copyright notice, |
Kojto | 109:9296ab0bfc11 | 10 | * this list of conditions and the following disclaimer. |
Kojto | 109:9296ab0bfc11 | 11 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
Kojto | 109:9296ab0bfc11 | 12 | * this list of conditions and the following disclaimer in the documentation |
Kojto | 109:9296ab0bfc11 | 13 | * and/or other materials provided with the distribution. |
Kojto | 109:9296ab0bfc11 | 14 | * 3. Neither the name of ARM Limited nor the names of its contributors |
Kojto | 109:9296ab0bfc11 | 15 | * may be used to endorse or promote products derived from this software |
Kojto | 109:9296ab0bfc11 | 16 | * without specific prior written permission. |
Kojto | 109:9296ab0bfc11 | 17 | * |
Kojto | 109:9296ab0bfc11 | 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
Kojto | 109:9296ab0bfc11 | 19 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
Kojto | 109:9296ab0bfc11 | 20 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
Kojto | 109:9296ab0bfc11 | 21 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
Kojto | 109:9296ab0bfc11 | 22 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
Kojto | 109:9296ab0bfc11 | 23 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
Kojto | 109:9296ab0bfc11 | 24 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
Kojto | 109:9296ab0bfc11 | 25 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
Kojto | 109:9296ab0bfc11 | 26 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
Kojto | 109:9296ab0bfc11 | 27 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
Kojto | 109:9296ab0bfc11 | 28 | ******************************************************************************* |
Kojto | 109:9296ab0bfc11 | 29 | */ |
Kojto | 109:9296ab0bfc11 | 30 | /*include -------------------------------------*/ |
Kojto | 109:9296ab0bfc11 | 31 | #ifndef __W7500X_I2C_H |
Kojto | 109:9296ab0bfc11 | 32 | #define __W7500X_I2C_H |
Kojto | 109:9296ab0bfc11 | 33 | |
Kojto | 109:9296ab0bfc11 | 34 | #include "W7500x.h" |
Kojto | 109:9296ab0bfc11 | 35 | |
Kojto | 109:9296ab0bfc11 | 36 | |
Kojto | 109:9296ab0bfc11 | 37 | typedef enum { |
Kojto | 109:9296ab0bfc11 | 38 | I2C_PA_5 = 0x05, |
Kojto | 109:9296ab0bfc11 | 39 | I2C_PA_6 = 0x06, |
Kojto | 109:9296ab0bfc11 | 40 | I2C_PA_9 = 0x09, |
Kojto | 109:9296ab0bfc11 | 41 | I2C_PA_10 = 0x0A, |
Kojto | 109:9296ab0bfc11 | 42 | I2C_PC_4 = 0x24, |
Kojto | 109:9296ab0bfc11 | 43 | I2C_PC_5 = 0x25, |
Kojto | 109:9296ab0bfc11 | 44 | I2C_PC_8 = 0x28, |
Kojto | 109:9296ab0bfc11 | 45 | // Not connected |
Kojto | 109:9296ab0bfc11 | 46 | I2C_NC = (int)0xFFFFFFFF |
Kojto | 109:9296ab0bfc11 | 47 | } I2C_PinName; |
Kojto | 109:9296ab0bfc11 | 48 | |
Kojto | 109:9296ab0bfc11 | 49 | typedef struct |
Kojto | 109:9296ab0bfc11 | 50 | { |
Kojto | 109:9296ab0bfc11 | 51 | I2C_PinName scl; |
Kojto | 109:9296ab0bfc11 | 52 | I2C_PinName sda; |
Kojto | 109:9296ab0bfc11 | 53 | }I2C_ConfigStruct; |
Kojto | 109:9296ab0bfc11 | 54 | |
Kojto | 109:9296ab0bfc11 | 55 | |
Kojto | 109:9296ab0bfc11 | 56 | #define I2C_PORT(X) (((uint32_t)(X) >> 4) & 0xF) // port number (0=A, 1=B, 2=C, 3=D) |
Kojto | 109:9296ab0bfc11 | 57 | #define I2C_PIN_INDEX(X) (1 << ((uint32_t)(X) & 0xF)) // pin index : flag bit |
Kojto | 109:9296ab0bfc11 | 58 | |
Kojto | 109:9296ab0bfc11 | 59 | uint32_t I2C_Init(I2C_ConfigStruct* conf); |
Kojto | 109:9296ab0bfc11 | 60 | |
Kojto | 109:9296ab0bfc11 | 61 | void I2C_WriteBitSDA(I2C_ConfigStruct* conf, uint8_t data); |
Kojto | 109:9296ab0bfc11 | 62 | void I2C_WriteBitSCL(I2C_ConfigStruct* conf, uint8_t data); |
Kojto | 109:9296ab0bfc11 | 63 | uint8_t I2C_ReadBitSDA(I2C_ConfigStruct* conf); |
Kojto | 109:9296ab0bfc11 | 64 | |
Kojto | 109:9296ab0bfc11 | 65 | void I2C_SendACK(I2C_ConfigStruct* conf); |
Kojto | 109:9296ab0bfc11 | 66 | void I2C_SendNACK(I2C_ConfigStruct* conf); |
Kojto | 109:9296ab0bfc11 | 67 | |
Kojto | 109:9296ab0bfc11 | 68 | uint8_t I2C_WriteByte(I2C_ConfigStruct* conf, uint8_t data); |
Kojto | 109:9296ab0bfc11 | 69 | uint8_t I2C_ReadByte(I2C_ConfigStruct* conf); |
Kojto | 109:9296ab0bfc11 | 70 | |
Kojto | 109:9296ab0bfc11 | 71 | void I2C_Start(I2C_ConfigStruct* conf); |
Kojto | 109:9296ab0bfc11 | 72 | void I2C_Stop(I2C_ConfigStruct* conf); |
Kojto | 109:9296ab0bfc11 | 73 | |
Kojto | 109:9296ab0bfc11 | 74 | int I2C_Write(I2C_ConfigStruct* conf, uint8_t addr, uint8_t* data, uint32_t len); |
Kojto | 109:9296ab0bfc11 | 75 | int I2C_WriteRepeated(I2C_ConfigStruct* conf, uint8_t addr, uint8_t* data, uint32_t len); |
Kojto | 109:9296ab0bfc11 | 76 | int I2C_Read(I2C_ConfigStruct* conf, uint8_t addr, uint8_t* data, uint32_t len); |
Kojto | 109:9296ab0bfc11 | 77 | int I2C_ReadRepeated(I2C_ConfigStruct* conf, uint8_t addr, uint8_t* data, uint32_t len); |
Kojto | 109:9296ab0bfc11 | 78 | |
Kojto | 109:9296ab0bfc11 | 79 | |
Kojto | 109:9296ab0bfc11 | 80 | #endif //__W7500X_I2C_H |
Kojto | 109:9296ab0bfc11 | 81 |