📄 board_func.h
字号:
#ifndef SYS_INIT_H
#define SYS_INIT_H
/*------函数定义------*/
/*************************************************************/
// SPI函数声明
void spi_init(void);
void spi_write(uint8 sData);
uint8 spi_read(void);
/*************************************************************/
// TWI函数声明
#define TW_OK 0
#define TW_ERROR 1
#define TW_NACK 2
extern uint8 Twi_SLA;
// I2C Slave Address Define
#define SI4700_SLA 0x20
#define CS8416_SLA 0x22
#define CS48540_SLA 0x24
#define TFA9812_SLA 0x26
#define DARR80_SLA 0x80
void twi_init(void);
//仲裁成为主机,发送START信号
//返回值: 0表示成功, 1表示失败
uint8 twi_start(void);
//停止通信,发送STOP信号
void twi_stop(void);
//发出从机地址与写命令,即SLA+W,进入MT模式
//返回值: 0表示成功, 1表示失败
uint8 twi_to_write(void);
//发出从机地址与读命令,即SLA+R,进入MR模式
//返回值: 0表示成功, 1表示失败
uint8 twi_to_read(void);
//向从机发数据
//返回值: 0表示接到ACK, 1表示失败, 2表示接NOT ACK
uint8 twi_send(uint8 data);
//接收从机发来的数据
//返回值: 0表示接到ACK, 1表示失败, 2表示接NOT ACK
uint8 twi_receive(uint8 *data);
uint8 twi_SendAck(uint8 Ack);
uint8 twi_WriteBuffer(uint8 SubAddr, uint8 *Buff, uint8 cnt, uint8 MemType);
uint8 twi_ReadBuffer(uint8 SubAddr, uint8 *Buff, uint8 cnt);
/*************************************************************/
// UART函数声明
//#define USE_UART0
#define USE_UART1
#ifdef USE_UART0
#define SIG_UART_RECV SIG_UART0_RECV
#else
#define SIG_UART_RECV SIG_UART1_RECV
#endif
#define SYNC_BYTE 0xFF
#define START_BYTE 0x55
// Define Receive Packet State
typedef enum
{
FSA_INIT,
FSA_START,
FSA_LENGTH,
FSA_LINGO,
FSA_COMMAND,
FSA_DATA,
FSA_CHKSUM
} RxState_t;
// Define Command
#define CMD_NONE 0
#define CMD_ACK 1
#define CMD_GET_PIO 2
#define CMD_SET_PIO 3
void usart_init(void);
uint8 Uart_RecvByte(void);
void Uart_SendSeq(uint8 *string, uint8 Len);
uint8 MakeChecksum(uint8 *buff, uint8 BufLen);
// 系统初始化总函数
void init_devices(void);
extern uint16 volatile Delay_Timer;
void Delay_10ms(uint16 Delay);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -