在大多数情况下,将设备驱动程序代码集成到Simulink中金宝app®块时,您需要围绕硬件供应商提供的API编写一个包装函数。
所有手臂®皮质®-处理器派生的支持包使用一组通用的C/ c金宝app++文件来进行GPIO读写操作。
按照以下步骤访问实现数字读写功能所需的C/ c++代码:
打开C头文件,MW_gpio.h
,手臂皮层——一个处理器。
编辑(fullfile (codertarget.arm_cortex_a.internal.getSpPkgRootDir,“包括”,“MW_gpio.h”))
头文件提供了在System对象中调用的C函数原型。
//版权所有(2012-2015)#如果未定义_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);走读生boolean_T MW_gpioRead (int32_T gpio);走读生无效MW_gpioWrite(int32_T gpio, boolean_T值);# ifdef__cplusplus}# endif# endif
保存文件的副本MW_gpio.h
进入include文件夹,包括
,请参阅创建项目文件夹.
打开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++编译器。金宝app为了用C编译器编译和链接c++函数,您需要添加走读生“C”在每个函数声明中的标识符,告诉编译器不要篡改函数名,以便它们可以与C连接器一起使用。
在MW_gpio.c
函数包括MW_gpio.h
定义GPIO管脚的初始化、读、写和终止函数的文件。注意,我们正在使用Simulink数据类型金宝appgpio
和方向
变量。出于这个原因,我们包括rtwtypes.h
文件中MW_gpio.h
.无论何时引用Simulink数据类型,都必须包含该文件。金宝app自gpio
我们用的是0到53之间的数字吗uint8_T
表示此变量的数据类型。in变量是要写入数字输出引脚的值,用表示boolean_T
数据类型。
在下一节中,您将看到选择系统对象模板为System对象。