《鸿蒙智能互联设备开发(微课版)》 课件 8.2.5 测速编码器驱动开发.pptx

《鸿蒙智能互联设备开发(微课版)》 课件 8.2.5 测速编码器驱动开发.pptx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

8.2.5测速编码器驱动开发

通过本节学习,您可以:了解测速编码器的驱动开发

测速编码器驱动开发测速编码器模块采集到速度数据后通过IIC1发送给stm32mp157。1.stm32mp157的IIC通讯stm32mp157的IIC通讯用到的是第一组IIC——IIC1。库函数Module_Common文件中已经做出了打开IIC1“MODULE_IICOpen()”及读取IIC1“MODULE_IICRead()”函数的定义,所以只需调用该函数就行。#defineBM_MODULE_IIC_CHANNEL_NUM1...MODULE_StatusMODULE_IICOpen(){if(i2cHandler!=NULL){MODULE_Log(I2Chasopened,pleasedontopenagain!);returnMODULE_Failed;}

测速编码器驱动开发i2cHandler=I2cOpen(BM_MODULE_IIC_CHANNEL_NUM);//打开IIC1if(i2cHandler==NULL){MODULE_Log(I2Copenfailed!);returnMODULE_Failed;}returnMODULE_Ok;}MODULE_StatusMODULE_IICRead(uint32_taddr,uint8_t*data,uint32_tlen){

测速编码器驱动开发MODULE_IIC_Msgmsg;msg.addr=addr;msg.buf=data;msg.len=len;msg.flags=MODULE_I2C_FLAG_READ;if(MODULE_IICTransmit(msg,1)!=MODULE_Ok){HDF_LOGE(i2creaderr);printf(i2creaderr);return-1;}return0;}

测速编码器驱动开发2.获取速度通过IIC1获取速度数据后,对数据速度进行解析。因为速度数据为字符串,所以需要将字符串转换为整型数据,将对应的字符数据减去字符“0”就可以得到该字符对应的整型。intQC_speed(void){intret=0;uint8_tRead_Buff_speed[5]={0};MODULE_IICRead(0xA2,Read_Buff_speed,2);//读取数据if((Read_Buff_speed[0]-0)==0){ret=Read_Buff_speed[1]-0;}

测速编码器驱动开发else{ret=Read_Buff_speed[0]-0;ret=ret*10+Read_Buff_speed[1]-0;}if((ret100)||(ret0)){ret=-1;}returnret;}

谢谢

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档