You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.4 KiB
114 lines
2.4 KiB
3 years ago
|
#ifndef asp_SI24R1m_
|
||
|
#define asp_SI24R1m_
|
||
|
|
||
|
|
||
|
#include "bsp_SI24R1.h"
|
||
|
typedef struct
|
||
|
{
|
||
|
u8 TX[5]; ///发送基地址
|
||
|
u8 RX_P0[5]; ///接收P0基地址
|
||
|
u8 P1_base[5]; ///P1地址 (前4字节)P2-P5基地址
|
||
|
u8 P[4]; ///P2-P5偏移地址,根据规格,在地地址5Byte的前提下,P1-P5四个字节的需要一样,后一个字节可以作为区分
|
||
|
///u8 d32[]
|
||
|
}TS_addr_2g4_;
|
||
|
|
||
|
///// 默认所有的地址的基地址是一样的,这样策略比较简单
|
||
|
typedef struct
|
||
|
{
|
||
|
u8 x;///
|
||
|
u8 y;///
|
||
|
u8 z;///
|
||
|
/// U8 ackFlag;
|
||
|
}TS_xyz_;
|
||
|
|
||
|
///// 默认所有的地址的基地址是一样的,这样策略比较简单
|
||
|
typedef struct
|
||
|
{
|
||
|
u8 filter0;///
|
||
|
u8 filter1;///
|
||
|
TS_xyz_ xyz[30];///
|
||
|
/// U8 ackFlag;
|
||
|
}TS_d32_;
|
||
|
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
TS_task task;
|
||
|
u8 Rbuf[32];
|
||
|
u8 Tbuf[32];
|
||
|
u8 Tbuf_change;
|
||
|
U8 val;
|
||
|
U8 con; ///config
|
||
|
U8 sta;
|
||
|
U8 sta_show;
|
||
|
U8 fifo_sta;
|
||
|
U8 id;
|
||
|
U32 sendStamp;
|
||
|
U32 over;
|
||
|
U8 rx_en;
|
||
|
U8 rx_ch;///有接收数据的通道号
|
||
|
U8 rx_fifo_num;////RX_PW_P0-5 接收数据管道n的数据数量
|
||
|
|
||
|
U8 ok;
|
||
|
U8 tx_en;
|
||
|
U8 rs_mode;///发送或接收的模式
|
||
|
Modbus03 *m;
|
||
|
/// U8 ackFlag;
|
||
|
}TS_2g4_;
|
||
|
extern TS_2g4_ ts_2g4;
|
||
|
void L3_task_2g4_handle_NOACK_master(TS_2g4_ *s);
|
||
|
///void (*L3_task_2g4_handle)(TS_2g4_ *s);
|
||
|
void L2_SI24R1_init_config(void);
|
||
|
extern void (*L3_task_2g4_handle)(TS_2g4_ *s);
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#define D_MSC_1V6_P0 0x20/// master slave communication 1v6 通讯地址配置
|
||
|
#define D_MSC_1V6_P1 0x21/// master slave communication 1v6 通讯地址配置
|
||
|
#define D_MSC_1V6_P2 0x22/// master slave communication 1v6 通讯地址配置
|
||
|
#define D_MSC_1V6_P3 0x23/// master slave communication 1v6 通讯地址配置
|
||
|
#define D_MSC_1V6_P4 0x24/// master slave communication 1v6 通讯地址配置
|
||
|
#define D_MSC_1V6_P5 0x25/// master slave communication 1v6 通讯地址配置
|
||
|
|
||
|
|
||
|
|
||
|
#define D_SI24_Standby(); D_SI24_CE_OFF();
|
||
|
#define D_SI24_Work(); D_SI24_CE_ON();
|
||
|
#define D_SI24_Register(); D_SI24_CE_OFF();
|
||
|
|
||
|
|
||
|
#define D_task_2g4_send 0x51
|
||
|
#define D_task_2g4_listen 0x61
|
||
|
#define D_task_2g4_REV 0x62
|
||
|
#define D_task_2g4_REV_start 0x82
|
||
|
|
||
|
#define D_task_2g4_rev_what 0x72
|
||
|
|
||
|
#define D_task_2g4_send_over 0x63
|
||
|
#define D_task_2g4_send_next 0x64
|
||
|
|
||
|
#define D_task_2g4_rx 0x52
|
||
|
#define D_task_2g4_wait 0x53
|
||
|
#define D_task_2g4_ackPayload_UPDATE 0x54
|
||
|
|
||
|
|
||
|
|
||
|
#define D_SI24R1_SENDOK 1
|
||
|
#define D_SI24R1_MAX_RT 2
|
||
|
#define D_SI24R1_ER 3
|
||
|
#define D_SI24R1_TIMEOVER 4
|
||
|
|
||
|
#define D_SI24R1_RX_DR 6
|
||
|
|
||
|
|
||
|
extern void L2_task_2g4_init(void);
|
||
|
void L2_task_2g4_handle_NOACK(TS_2g4_ *s);
|
||
|
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
|