编写特定于硬件的C/ c++代码
在大多数情况下,将设备驱动程序代码集成到Simulink中万博1manbetx®块,您需要围绕硬件供应商提供的API编写一个包装器函数。
所有手臂®皮质®-处理器派生的支持包使用一组通用的C/ c万博1manbetx++文件进行GPIO读写操作。
按照以下步骤访问实现数字读写功能所需的C/ c++代码:
打开C头文件,
MW_gpio.h
,为手臂皮层——一个处理器。编辑(fullfile (codertarget.arm_cortex_a.internal.getSpPkgRootDir,“包括”,“MW_gpio.h”))
头文件提供了在System对象中调用的C函数原型。
// Copyright 2012-2015 The MathWorks, Inc.#如果未定义_MW_GPIO_H_#定义_MW_GPIO_H_# include“rtwtypes.h”# ifdef__cplusplus走读生“C”{# endif//通用定义#定义GPIO_MAX_BUF (128)#定义GPIO_DIRECTION_INPUT (1)// MATLAB编码#定义GPIO_DIRECTION_OUTPUT (2)走读生无效MW_gpioInit(int32_T gpio, boolean_T方向);走读生无效MW_gpioTerminate (int32_T gpio);走读生MW_gpioRead(int32_T gpio);走读生无效MW_gpioWrite(int32_T gpio, boolean_T值);# ifdef__cplusplus}# endif# endif
保存文件的副本
MW_gpio.h
在包含文件夹中,包括
的设备驱动程序项目文件夹,请参见创建项目文件夹.打开C源文件,
MW_gpio.c
,为手臂皮层——一个处理器。编辑(fullfile (codertarget.arm_cortex_a.internal.getSpPkgRootDir,“src”,“MW_gpio.c”))
保存文件的副本
MW_gpio.c
进入源文件夹,src
的设备驱动程序项目文件夹,请参见创建项目文件夹.
警告
请勿修改MW_gpio.h
而且MW_gpio.c
的文件手臂皮层——目录。
许多硬件设备要么不支持,要么不推荐使用c++编译器。万博1manbetx为了用C编译器编译和链接c++函数,需要添加走读生“C”标识符,告诉编译器不要混淆函数名,以便与C链接器一起使用。
的rtwtypes.h
每当引用Simulink数据类型时,必须包含一个文件。万博1manbetx
在下一节中,您将了解选择一个系统对象模板为System对象设置。