simulink代码生成(四)——SCI模块:发送模块(串口通信)

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进制与浮点相互转换的在线计算工具)

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值