客户有个需求,要从用户空间传递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[