| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /******************************************************************************
- 函数名称: shm_comm_packet_write
- 函数版本: 01.01
- 创建作者: zhaoyang
- 创建日期: 2025-08-25
- 函数说明: 向共享内存写入数据(自动处理A,B,crc).
- 参数说明:
- addr:共享内存的地址
- data:写入数据
- len:写入数据长度
- 返回值: 成功返回写入数据的长度, 失败返回-1
- 修改记录:
- 使用说明:
- 输入参数data为带有A,B和crc的结构体,len为整个结构体的长度
- 应用层不需要理会A,B和crc.
- */
- #ifndef __BSP_PACKET_H__
- #define __BSP_PACKET_H__
- #include <stdint.h>
- int shm_comm_packet_write(uint32_t addr, uint8_t *data, uint32_t len);
- /******************************************************************************
- 函数名称: shm_comm_packet_read
- 函数版本: 01.01
- 创建作者: zhaoyang
- 创建日期: 2025-08-25
- 函数说明: 读取共享内存的数据(自动处理A,B,crc).
- 参数说明:
- addr:所以读取共享内存的地址
- len:需要读取数据的长度
- out_data:输出buf
- out_data_size:输出buf的长度
- 返回值:
- 成功返回读取数据的长度,
- 失败返回 <0
- 修改记录:
- 使用说明:
- 输入参数out_data为带有A,B和crc的结构体,len为整个结构体的长度
- 应用层不需要理会A,B和crc.
- */
- int shm_comm_packet_read(uint32_t addr, uint32_t len, uint8_t *out_data, uint32_t out_data_size);
- /******************************************************************************
- 函数名称: shm_comm_packet_read_noABcrc
- 函数版本: 01.01
- 创建作者: zhaoyang
- 创建日期: 2025-08-25
- 函数说明: 读取共享内存的数据(结构体不存在A,B,crc).
- 参数说明:
- addr:所以读取共享内存的地址
- len:需要读取数据的长度
- out_data:输出buf
- out_data_size:输出buf的长度
- 返回值:
- 成功返回读取数据的长度,
- 失败返回 <0
- 修改记录:
- 使用说明:
- 如:Ad7616采样点结构
- 本函数只处理不含有A,B和crc的结构体
- */
- int shm_comm_packet_read_noABcrc(uint32_t addr, uint32_t len, uint8_t *out_data, uint32_t out_data_size);
- void shm_comm_test(void);
- #endif
|