【发布时间】:2020-11-05 13:07:24
【问题描述】:
我有一个通过 SCI 协议传输 256 字节数据的串行端口。
帧格式如下:
typedef struct
{
int header;
uint8 ssap;
uint8 dsap;
uint8 data[248];
}Frame;
并具有以下功能
void sciSendStream(int length, uint8* data);
我的问题是如何将Frame struct 转换为uint8 *
当我尝试使用以下演员来做到这一点时:
sciSendStream(256,(uint8 *)frame);
我收到不兼容的转换错误。
【问题讨论】:
-
@Jabberwocky Doh!
-
什么是“SCI协议”?我所知道的唯一 SCI 是摩托罗拉的 UART 硬件名称。
-
void sciSendStream(int length, uint8* data);应该有int sciSendStream(const size_t length, const void *data);原型,如果它是由理智的程序员编写的。 -
@Lundin 是的,是一种UART协议
-
不,它不是一个协议,它是你MCU中的一块硬件。