mqx培训2驱动和板级支持包bs

mqx培训2驱动和板级支持包bs

ID:40053482

大小:2.95 MB

页数:40页

时间:2019-07-18

mqx培训2驱动和板级支持包bs_第1页
mqx培训2驱动和板级支持包bs_第2页
mqx培训2驱动和板级支持包bs_第3页
mqx培训2驱动和板级支持包bs_第4页
mqx培训2驱动和板级支持包bs_第5页
资源描述:

《mqx培训2驱动和板级支持包bs》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MQX™I/O驱动和BSPMQX培训-2GuoJiaApplicationsEngineerUpdatedMay2012培训内容MQX™RTOSI/O驱动MQX如何管理I/O驱动I/O驱动相关的文件目录结构使用MQX提供的I/O驱动创建一个新的驱动如何从定义调试串口MQX中断MQX如何处理中断MQXBSP移植什么情况下需要一个新的BSP与电路板相关的目录BSP移植中的重要文件BSP移植的关键步骤使用脚本文件加速BSP移植演示Demo1:使用MQX自带的驱动Demo2:创建一个新的驱动并且进行测试MQX如何管理I/O驱动软件采用分层设计屏蔽驱动细节易用的APII/

2、O子系统APIPOSIX标准I/O接口WhatdoestheI/OsubsystemAPIlooklike?I/O驱动相关的文件目录结构这里,我们关心右边红色方框内的目录:config有user_config.h文件以及编译BSP,PSP,MFS,RTCS,SHELL,USB的工程文件lib输出文件.liband.hmqxbsp,包含BSP驱动代码(重要目录,我们需要根据新的目标板对此进行修改)bat,包含.bat文件,在编译后把.lib和.h文件拷贝到输出

3、目录其他文件夹,比如mfs,rtcs,shell,usb是对应协议栈的内容MQX驱动MQX提供了片上模块的驱动:TTYI2CSPIGPIOADCRTCFlashSDcardandmuchmore!如何使用MQX的I/O驱动在user_config.h使能对应的模块…#defineBSPCFG_ENABLE_I2C01#defineBSPCFG_ENABLE_II2C00#defineBSPCFG_ENABLE_I2C10#defineBSPCFG_ENABLE_II2C10#defineBSPCFG_ENABLE_SPI00#de

4、fineBSPCFG_ENABLE_ISPI00…重编译MQX库fopenfreadfwriteioctlfclose使用MQX的I/O驱动使用MQX的I/O驱动要点:学习如何使用MQX的I2C驱动来访问板上的MMA8451I2C接口加速度传感器步骤步骤1:使能I2C0驱动在configtwrk60n512user_config.h文件里#defineBSPCFG_ENABLE_I2C01步骤2:重新编译BSP使用MQX的I/O驱动步骤3:在应用中使用API访问MMA8451voidinit_i2c(void){f_i2c=fopen("i2c0:",NUL

5、L);if(f_i2c==NULL){printf("FailedtoopentheI2Cdriver!");_mqx_exit(1L);}ioctl(f_i2c,IO_IOCTL_I2C_SET_MASTER_MODE,NULL);}使用MQX的I/O驱动步骤4:使用API访问MMA8451u8mma8451_read_reg(u8addr){uint_32param;u8mem[1];//setdestaddressforthisaccessparam=I2C_ADDR_MMA8451;ioctl(f_i2c,IO_IOCTL_I2C_SET_DESTI

6、NATION_ADDRESS,¶m);//1.start,senddstaddressfwrite(mem,1,0,f_i2c);ioctl(f_i2c,IO_IOCTL_FLUSH_OUTPUT,¶m);//2.sendregaddressmem[0]=addr;fwrite(mem,1,1,f_i2c);fflush(f_i2c);//3.repeatanddeviceaddressioctl(f_i2c,IO_IOCTL_I2C_REPEATED_START,NULL);param=1;ioctl(f_i2c,IO_IOCTL_I2C_SE

7、T_RX_REQUEST,¶m);//4.readfread(mem,1,1,f_i2c);//5.stopioctl(f_i2c,IO_IOCTL_I2C_STOP,NULL);returnmem[0];}使用MQX的I/O驱动步骤5:读取MMA8451数据voidhw_mma8451_get_data(s16*x,s16*y,s16*z){u8v;v=mma8451_read_reg(0);if(v&1)*x=((s16)((mma8451_read_reg(0x01)<<8)

8、mma8451_read_reg(0x02)))>>4;if(v&2)*

9、y=((s16)((mm

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。