C2000中的SCI模块分为两种,一种是接收模块,一种是发送模块;
1 发送模块
发送模块如下图所示:
SCI传输块使用指定的SCI硬件模块传输标量或矢量数据。采样率和数据类型是与输入端口一致;
注意:一个模型只能包含一个SCI接收块。
C28x处理器一共有三个SCI模块——A、B和C。我们可以通过在Hardware Implementation > Target hardware resources.来配置SCI模块。
1.1 发送选项卡中参数的定义
(1)SCI module 选择串口模块
(2)Additional packge header ,数据包开头字母,
位于发送的数据包开头的数据,它不是正在传输的数据的一部分,并指示数据的开始。这个默认设置即可;
(3)Additional package terminator ,数据包结尾字母,与开头同理;
(4)Enable transmit FIFO interrupt ,是否是能FIFO终端
1.2 如何配置Hardware Implementation > Target hardware resources
打开设置
由于我的硬件是SCIB所以选择B,GPIO18 = SCIBTX GPIO19 = SCIBRX ,下面影号部分就不需要设置S和E了,不增加校验位简单执行。
然后设置SCIB的波特率什么的,主要设置这两个地方;
搭建模型如下图所示:
设置一个0-7累加的值;可以看到串口助手反馈的值符合设计;
1.3 发送的数据是多少位的数据?
help文件中显示:采样率和数据类型是与输入端口一致;
从这里比较难看出串口输出的数据类型是什么样的,进行实验验证给一个uint16的转换后,通信是否正常;
串口实验结果为:C8为16进制数,对应十进制数为200,显示正常,且数据类型是 00 C8,是无符号16位数据类型;
进行实验验证给一个uint32的转换后,通信是否正常;
串口实验结果为:C8为16进制数,对应十进制数为200,显示正常,且数据类型是 00 00 00 C8,是无符号32位数据类型;
串口实验结果为:0X08C8为16进制数,对应十进制数为2248,显示正常,是无符号16位数据类型;
串口实验结果为:0x3F C0 00 00为16进制数,对应十进制浮点数位 1.5 ,显示正常,是浮点型数值的16进制表现形式;
在线进制转换-IEE754浮点数16进制转换(16进制与浮点相互转换的在线计算工具)