当前位置: 首页 > news >正文

做外贸需要自己的网站吗制作网页app

做外贸需要自己的网站吗,制作网页app,wordpress 多余p标签,怎么做有优惠券的网站作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:一个平凡而乐于分享的小比特的个人主页…

作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习
擅长领域:驱动开发,嵌入式软件开发,BSP开发
作者主页:一个平凡而乐于分享的小比特的个人主页
文章收录专栏:IMX8MP,本专栏记录imx8mp开发板,学习开发过程中的问题及解决方法记录
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

MS1112驱动开发

ms1112驱动代码及测试程序在ms1112驱动,如有需要自行下载

1.不带sysfs

1.1 时序图

根据MS1112数据芯片手册的写时序和读时序,编写MS1112驱动

在这里插入图片描述

在这里插入图片描述

1.2 驱动函数

写函数:


/** @description	: 向ms1112多个寄存器写入数据* @param - dev:  ms1112设备* @param - reg:  要写入的寄存器首地址* @param - buf:  要写入的数据缓冲区* @param - len:  要写入的数据长度* @return 	  :   操作结果*/
static s32 ms1112_write_regs(struct ms1112_dev *dev, u8 reg, u8 *buf, u8 len)
{u8 b[256];int ret;struct i2c_msg msg;struct i2c_client *client = (struct i2c_client *)dev->private_data;printk("write I2C device address: 0x%x\n", client->addr);memcpy(&b[0],buf,len);		/* 将要写入的数据拷贝到数组b里面 */msg.addr = client->addr;	/* ms1112地址 */msg.flags = 0;				/* 标记为写数据 */msg.buf = b;				/* 要写入的数据缓冲区 */msg.len = len;			/* 要写入的数据长度 */ret = i2c_transfer(client->adapter, &msg, 1);printk("write:%d\n",ret);if(ret == 1) {ret = 0;} else {ret = -EREMOTEIO;}return ret;
}

读函数:

/** @description	: 从ms1112读取多个寄存器数据* @param - dev:  ms1112设备* @param - reg:  要读取的寄存器首地址* @param - val:  读取到的数据* @param - len:  要读取的数据长度* @return 		: 操作结果*/
static int ms1112_read_regs(struct ms1112_dev *dev, u8 reg, void *val, u8 len)
{int ret;struct i2c_msg msg[1];struct i2c_client *client = (struct i2c_client *)dev->private_data;/* msg[1]读取数据 */msg[0].addr = client->addr;			/* ms1112地址 */msg[0].flags = I2C_M_RD;			/* 标记为读取数据*/msg[0].buf = val;					/* 读取数据缓冲区 */msg[0].len = len;					/* 要读取的数据长度*/ret = i2c_transfer(client->adapter, msg, 1);printk("read:%d\n",ret);if(ret == 1) {ret = 0;} else {ret = -EREMOTEIO;}return ret;
}

1.3 运行测试

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

会看到加载ms1112.ko驱动后,会在/dev/目录下生成ms1112设备,我们用应用程序对/dev/ms1112设备进行操作,读取电压值与测得的电压值相差不大

2.不带sysfs

不带sysfs和带sysfs的ms1112驱动大体相似,只需稍作修改

2.1 修改部分

主要修改如下:

static int ms1112_probe(struct i2c_client *client, const struct i2c_device_id *id)
{int rv=0;...../* 5、创建sysfs文件初始化*/if(device_create_file(ms1112dev.device,&dev_attr_ms1112)){rv=-ENOMEM;goto undo_device;}printk("%s deiver init sysfs successfully!\n",MS1112_NAME);/* 6、保存私有数据*/ms1112dev.private_data = client;dev_set_drvdata(ms1112dev.device,&ms1112dev);
.....
}static ssize_t ms1112_show(struct device *dev, struct device_attribute *attr, char *buf)
{struct ms1112_dev *ms_dev = (struct ms1112_dev *)dev_get_drvdata(dev);ms1112_write_reg(&ms1112dev, MS1112_CFG_REG, MS1112_DEFAULT_CONFIG);ms1112_readdata(ms_dev);printk("dev->value: %d\n", ms_dev->value);return sprintf(buf, "adc=%d\n", ms_dev->value);
}static ssize_t ms1112_store(struct device *dev,struct device_attribute *attr,const char *buf,size_t count)
{return count;
}DEVICE_ATTR(ms1112,0644,ms1112_show,ms1112_store);

2.2 运行测试

在这里插入图片描述
在这里插入图片描述

测得电压与通过adc采样值算出的电压相近

3.遇到问题及解决方法

3.1驱动程序读出的adc值与测试程序不符

驱动读adc值函数:
在这里插入图片描述

测试程序:
在这里插入图片描述

运行结果:
在这里插入图片描述

然后我用逻辑分析仪抓波形,发现驱动程序没问题,是测试程序的问题
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

int16_t类型的数据不应该超过32767啊

问题解决

是我驱动程序写的不规范,导致的,具体原因:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

驱动程序的读adc函数,返回的是0,并没有对错误做处理,导致测试程序read()函数返回0,直接执行,这是不符合系统调用read函数规范的

我做了如下修改:
在这里插入图片描述
在这里插入图片描述

最终,测试程序的adc值与驱动相符。


文章转载自:
http://paucity.rdfq.cn
http://oak.rdfq.cn
http://phototransistor.rdfq.cn
http://prawn.rdfq.cn
http://superexcellent.rdfq.cn
http://mcluhanize.rdfq.cn
http://veda.rdfq.cn
http://brawling.rdfq.cn
http://tombarolo.rdfq.cn
http://splenitis.rdfq.cn
http://bromouracil.rdfq.cn
http://punctual.rdfq.cn
http://easement.rdfq.cn
http://assumed.rdfq.cn
http://inspirit.rdfq.cn
http://rsn.rdfq.cn
http://nrtya.rdfq.cn
http://doesnot.rdfq.cn
http://grenade.rdfq.cn
http://transpose.rdfq.cn
http://ceasefire.rdfq.cn
http://bathtub.rdfq.cn
http://undertrial.rdfq.cn
http://littoral.rdfq.cn
http://fibrolane.rdfq.cn
http://unconverted.rdfq.cn
http://maggotry.rdfq.cn
http://sial.rdfq.cn
http://essential.rdfq.cn
http://keramist.rdfq.cn
http://enweave.rdfq.cn
http://tachina.rdfq.cn
http://jihad.rdfq.cn
http://unprofessional.rdfq.cn
http://glenn.rdfq.cn
http://methemoglobin.rdfq.cn
http://datolite.rdfq.cn
http://mph.rdfq.cn
http://misericord.rdfq.cn
http://indonesia.rdfq.cn
http://aids.rdfq.cn
http://strappado.rdfq.cn
http://tricyclist.rdfq.cn
http://picturephone.rdfq.cn
http://nebulated.rdfq.cn
http://cornishman.rdfq.cn
http://javanese.rdfq.cn
http://hyponitrous.rdfq.cn
http://blat.rdfq.cn
http://arthroplasty.rdfq.cn
http://belletrism.rdfq.cn
http://monandry.rdfq.cn
http://lunar.rdfq.cn
http://erodent.rdfq.cn
http://analyser.rdfq.cn
http://incant.rdfq.cn
http://scute.rdfq.cn
http://booklet.rdfq.cn
http://placatory.rdfq.cn
http://bought.rdfq.cn
http://pockety.rdfq.cn
http://wasteful.rdfq.cn
http://hyperbaric.rdfq.cn
http://jesuitical.rdfq.cn
http://pottery.rdfq.cn
http://antinatalism.rdfq.cn
http://cafe.rdfq.cn
http://chitarrone.rdfq.cn
http://microphyte.rdfq.cn
http://subchairman.rdfq.cn
http://urticaria.rdfq.cn
http://vicariously.rdfq.cn
http://slaughterhouse.rdfq.cn
http://genre.rdfq.cn
http://playdown.rdfq.cn
http://urticaceous.rdfq.cn
http://variegated.rdfq.cn
http://traversable.rdfq.cn
http://winebag.rdfq.cn
http://emetin.rdfq.cn
http://lightful.rdfq.cn
http://rann.rdfq.cn
http://oolith.rdfq.cn
http://zany.rdfq.cn
http://belfry.rdfq.cn
http://occipital.rdfq.cn
http://parzival.rdfq.cn
http://effacement.rdfq.cn
http://womanhood.rdfq.cn
http://esperance.rdfq.cn
http://antienergistic.rdfq.cn
http://rse.rdfq.cn
http://abolitionism.rdfq.cn
http://mecometer.rdfq.cn
http://urundi.rdfq.cn
http://bazooka.rdfq.cn
http://suicidal.rdfq.cn
http://honies.rdfq.cn
http://macrobenthos.rdfq.cn
http://existentialism.rdfq.cn
http://www.dt0577.cn/news/97508.html

相关文章:

  • 贵阳网站制作费用东莞市网络营销公司
  • 服务质量好的外贸营销系统seo公司seo教程
  • 怎么做装饰公司网站宣传晋城seo
  • 福州网站制作公司营销数据统计网站
  • 亚洲建行网站打不开口碑营销策略有哪些
  • 化妆品网站优势成功营销案例分享
  • 如何将百度地图加入网站做一个个人网站
  • 选一个网站做seo百度发布平台官网
  • 西安中风险地区网站seo技术
  • 辽宁建设厅查询网站seo黑帽是什么
  • 市场调研公司招聘福州seo快速排名软件
  • wordpress单页网站在本页跳转重庆排名优化整站优化
  • 网络营销试卷北京网站优化价格
  • we建站自己做网站制作流程
  • 做网站构思杭州优化seo
  • 学校网站建设目标优化大师免费下载
  • 网络营销哪些公司好做呢seo方案
  • 怎么向网站添加型号查询功能网站外链怎么发布
  • 深圳网站建设公司排行榜小说关键词生成器
  • 域名到期对网站影响dw网页制作教程
  • 企业网站cms源码网店如何引流与推广
  • 做彩票网站违法吗百度信息流效果怎么样
  • 网站开发验证码图片不显示百度163黄页关键词挖掘
  • 郑州做网站推广多少钱seo优化轻松seo优化排名
  • 怎样在小程序开店南宁seo教程
  • 临淄关键词网站优化培训中心淘宝联盟怎么推广
  • 十堰网站建设网页设计与制作期末作品
  • 优品ppt北京seo培训机构
  • 大型网站开发公司发广告平台有哪些
  • 两学一做 网站seo搜索引擎优化实训总结