Hyowinner的MBD技术论坛

 找回密码
 立即注册
搜索
查看: 328|回复: 4

Simulink生成代码数据名称替换冲突

[复制链接]

3

主题

12

帖子

50

积分

MBD初级工程师

Rank: 2

积分
50
发表于 2025-12-15 13:44:43 | 显示全部楼层 |阅读模式
校长,我在Simulink生成C代码时,想要指定数据类型名称与我原有的C代码数据类型名称保持一致,但是我替换之后在keil中编译时,它显示我的数据类型名命名冲突,这个要怎么解决啊。
定义冲突形式:我原有的定义的typedef double          FLOAT64;但是在Simulink生成C代码时我定义的是typedef real32_T FLOAT32;  这个要怎么解决
回复

使用道具 举报

79

主题

139

帖子

2051

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2051
发表于 2025-12-16 07:34:00 | 显示全部楼层
real32_T说明你模型里面设置的是single类型,也就是C语言的float类型,而并不是double类型。
检查下你设置的数据类型或者模型推导出来的数据类型是不是你预期的,不是的话先在模型层面解决数据类型设计问题。

然后再看看是不是对所有C语言基本类型都设计了别名,Alias对象,他们可以生成typedef语句。

此类代码生成技术基础问题,初学者可以参考这门视频课:https://study.163.com/course/cou ... eId=480000002307577
回复

使用道具 举报

3

主题

12

帖子

50

积分

MBD初级工程师

Rank: 2

积分
50
 楼主| 发表于 2025-12-16 13:53:26 | 显示全部楼层
admin 发表于 2025-12-16 07:34
real32_T说明你模型里面设置的是single类型,也就是C语言的float类型,而并不是double类型。
检查下你设置 ...

好的感谢,我这边解决了,是定义冲突了,上面我输入错了。原有的定义的typedef float FLOAT32;但是在Simulink生成C代码时我定义的是typedef real32_T FLOAT32;
回复

使用道具 举报

3

主题

12

帖子

50

积分

MBD初级工程师

Rank: 2

积分
50
 楼主| 发表于 2025-12-16 13:54:36 | 显示全部楼层
admin 发表于 2025-12-16 07:34
real32_T说明你模型里面设置的是single类型,也就是C语言的float类型,而并不是double类型。
检查下你设置 ...

这里面有关于产品级代码的课程吗
回复

使用道具 举报

79

主题

139

帖子

2051

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2051
发表于 2025-12-16 14:46:37 | 显示全部楼层
look 发表于 2025-12-16 13:54
这里面有关于产品级代码的课程吗

有的,这门课高级篇专门讲解Embedded Coder产品级代码生成技术,包括定制格式的代码生成的设计技术。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|MBD全栈技术学校|苏ICP备2025212294号-1|Hyowinner校长B站首页|手机版|小黑屋|Hyowinner的MBD技术论坛

GMT+8, 2026-5-7 11:13 , Processed in 0.080323 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表