主要内容

生成定点C代码

请注意

用MATLAB生成定点代码®您必须同时拥有定点设计器™产品和MATLAB编码器™产品。您还必须有一个C编译器。

这个示例展示了如何为一个简单的函数生成代码,该函数将两个输入值相乘并累积。这是可以嵌入到外部硬件中的代码类型。函数是

函数Acc = curpos (Acc,x*a);

此代码定义测试台输入,设置所需的代码生成属性,并生成代码。测试台输入被指定为定点数字。的x输入是随机数,一个为0.9,累加器,acc,初始化为0。的编码器。HardwareImplementation对象指定影响生成代码的外部硬件的属性。示例指定了一个40位累加器。的编码器。CodeConfig对象具有直接影响代码生成的属性。的codegen命令接受该函数和配置对象作为输入参数,并生成可嵌入的C代码。

x = fi(15)兰德,真的,16日;一个= fi(15) 0.9,真的,16日;acc = fi(0,真的,40岁,30);%%你好= coder.HardwareImplementation;嗨。ProdHWDeviceType =“通用- >自定义”嗨。TargetHWDeviceType =“通用- >自定义”嗨。TargetBitPerLong = 40;嗨。ProdBitPerLong = 40;hc = coder.config (“自由”);hc。HardwareImplementation =你好;hc。GenerateReport = true;codegenmult_acc配置hcarg游戏{x, acc}

生成的C代码为:

/* Include Files */ # Include " multit_acc .h" /*函数定义*/ * * Arguments: short x * short a * long *acc * Return Type: void */ void multit_acc (short x, short a, long *acc) {*acc += x *a;}

请注意

有关代码生成支持的函数列表,请参见金宝appC/ c++代码生成支持的函数和对象金宝app