问题
在matlab的simulink下使用JK触发器模块时,出现问题:Data type mismatch. Output port 1 of ‘homework2/J-K Flip-Flop/J-K Flip-Flop/Mux’ is a signal of data type ‘double’. However, it is driving a signal of data type ‘boolean’.
仿真图:
出错:
问题分析
(1)通过报错的内容翻译,是数据类型不匹配的问题。发现说:JK触发器输出端口是"double"类型的数据,但是它驱动的是"boolean"类型的数据。也就是说,JK触发器需要的驱动信号是boolean类型。
(2)这时候观察所画仿真图,发现模块"Constart"的输出端口是"double",而实际上我们希望的输入是"boolean"。
(3)所以我们需要修改Constant的输出数据类型为boolean。
解决方案
- 双击Constant模块(也可能是其它模块,找到对应的模块即可)
- 选择Signal Attributes这一栏
- 将Output data type 中的类型改为 boolean,问题就解决了。