ATY_LIB V2_102_230218
ATY_LIB for general devices or ALGO
 
Loading...
Searching...
No Matches
at24c08_stc8h3k.c File Reference
#include "fw_hal.h"

Go to the source code of this file.

Macros

#define AT24C_ADDR   0xA0
 

Functions

void I2C_Init (void)
 
void GPIO_Init (void)
 
int main (void)
 

Variables

__CODE int8_t dat [20] = {0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB}
 

Macro Definition Documentation

◆ AT24C_ADDR

#define AT24C_ADDR   0xA0

Definition at line 27 of file at24c08_stc8h3k.c.

Function Documentation

◆ GPIO_Init()

void GPIO_Init ( void  )

Definition at line 45 of file at24c08_stc8h3k.c.

46{
47 // SDA
49 // SCL
51}
#define GPIO_P3_SetMode(__PINS__, __MODE__)
Definition: fw_gpio.h:89
@ GPIO_Pin_2
Definition: fw_gpio.h:47
@ GPIO_Pin_3
Definition: fw_gpio.h:48
@ GPIO_Mode_Output_PP
Definition: fw_gpio.h:24
@ GPIO_Mode_InOut_QBD
Definition: fw_gpio.h:23

◆ I2C_Init()

void I2C_Init ( void  )

I2C clock = FOSC / 2 / (prescaler * 2 + 4)

Definition at line 31 of file at24c08_stc8h3k.c.

32{
33 // Master mode
39 // Switch alternative port
41 // Start I2C
43}
#define I2C_SetClockPrescaler(__DIV__)
Definition: fw_i2c.h:71
@ I2C_WorkMode_Master
Definition: fw_i2c.h:24
#define I2C_SetWorkMode(__MODE__)
Definition: fw_i2c.h:65
#define I2C_SetEnabled(__STATE__)
Definition: fw_i2c.h:64
@ I2C_AlterPort_P32_P33
Definition: fw_i2c.h:51
#define I2C_SetPort(__ALTER_PORT__)
Definition: fw_i2c.h:121
@ HAL_State_ON
Definition: fw_types.h:71

◆ main()

int main ( void  )

Definition at line 54 of file at24c08_stc8h3k.c.

55{
56 uint8_t offset, i, buf[20];
57
59 // UART1 configuration: baud 115200 with Timer2, 1T mode, no interrupt
61
62 GPIO_Init();
63 I2C_Init();
64 I2C_Write(AT24C_ADDR, 0x00, dat, 12);
65
66 while(1)
67 {
68 for (offset = 0; offset < 4; offset++)
69 {
70 I2C_Read(AT24C_ADDR, offset, buf, 6);
71 for (i = 0; i < 6; i++)
72 {
73 UART1_TxHex(buf[i]);
74 UART1_TxChar(':');
75 }
76 UART1_TxString(" ");
77 SYS_Delay(10);
78 }
79 UART1_TxString("\r\n");
80 SYS_Delay(1000);
81 }
82}
__CODE int8_t dat[20]
void I2C_Init(void)
void GPIO_Init(void)
#define AT24C_ADDR
uint8_t I2C_Read(uint8_t devAddr, uint8_t memAddr, uint8_t *buf, uint16_t size)
Definition: fw_i2c.c:36
uint8_t I2C_Write(uint8_t devAddr, uint8_t memAddr, uint8_t *dat, uint16_t size)
Definition: fw_i2c.c:18
void SYS_SetClock(void)
Definition: fw_sys.c:40
void SYS_Delay(uint16_t t)
Definition: fw_sys.c:65
unsigned char uint8_t
Definition: fw_types.h:18
void UART1_TxChar(char dat)
Definition: fw_uart.c:72
void UART1_TxString(uint8_t *str)
Definition: fw_uart.c:85
@ UART1_BaudSource_Timer2
Definition: fw_uart.h:34
void UART1_TxHex(uint8_t hex)
Definition: fw_uart.c:79
void UART1_Config8bitUart(UART1_BaudSource_t baudSource, HAL_State_t _1TMode, uint32_t baudrate)
Definition: fw_uart.c:56
uint8_t __XDATA i

Variable Documentation

◆ dat

__CODE int8_t dat[20] = {0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB}

Definition at line 29 of file at24c08_stc8h3k.c.