串口输入的数据是16进制数;要解决这个问题必须要理解matlab的数据类型;数据类型一般用来标明数据的系列参数,包含有精度、动态范围、性能和存储的资源。模型会默认使用Double数据类型。Simulink的数据类型如下所示:
?模块之间通过数据线连接,不同类型的模块所支持的数据类型不同。当点击运行时,模型报错,可以通过创建Data Type Conversion模块来解决类型冲突。
进行一个简单的实验:将串口所得数据传入如下模块,并用一个固定的参数在CCS中观测,SCI显示发送的数据;
测试一:发送0x08,观测串口数据与CCS中观测数据;(8/256 = 0.03125? ? 8/255 = 0.31372 )
测试二:发送0xA3,观测串口数据与CCS中观测数据;(163/256 =0.6367? ?163/255 = 0.6392)
上面讨论的均为串口传入一个一维数据,假如串口传入多个数值,这个时候该怎么处理呢?设置输入数据的维数,更改其维数;
也可以进行一些基础的尝试:
测试一:发送0x08 0x08,观测串口数据与CCS中观测数据;
测试二:发送0x08 0xA3,观测串口数据与CCS中观测数据;