从用户空间传递i2c要写的数据

本文介绍如何通过创建I2C读写节点,实现从用户空间传递I2C通信的数据,以满足将特定字节序列(如0x00 0x12 0x34 0xab 0x00)发送给GPS芯片的需求。示例代码展示了写操作的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户有个需求,要从用户空间传递i2c要写的数据,比如发送数据:0x00 0x12 0x34 0xab 0x00给gps芯片。

可以创建一个i2c的读写节点:

static DEVICE_ATTR(gpsdata, S_IWUSR | S_IRUGO, i2c_gps_data_show, i2c_data_store);

约定应用层发送的数据格式如下:00,12,34,ab,… 00

其写操作参考代码如下:

static ssize_t i2c_gps_data_store(struct device *dev, struct device_attribute *attr,
				const char *buf, size_t count)
{
   
	char udata[256] = {
   0};
	char *src = NULL;
	char *token[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归心2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值