regmap_bulk_read (structregmap* map , unsigned int reg, void *val, size_t val_count) 函数参数和返回值含义如下: map:要操作的 regmap。 reg:要读取的第一个寄存器。 val:读取到的数据缓冲区。 val_count:要读取的寄存器数量。 返回值:0,写成功;其他值,读失败。 另外也有多个寄存器写函数 regmap_bulk...
然后调用read,调用regmap_read进行读操作,这里每次都只读取一个byte,不需要用到regmap_bulk_read.
接下来看一下 regmap_bulk_read 函数,此函数用于读取多个寄存器的值,函数原型如下: 代码语言:javascript 复制 intregmap_bulk_read(struct regmap*map,unsigned int reg,void*val,size_t val_count) 函数参数和返回值含义如下: map:要操作的 regmap。 reg:要读取的第一个寄存器。 val:读取到的数据缓冲区。 val...
这些函数包括regmap_read、regmap_write、regmap_bulk_read、regmap_bulk_write等。以下是一个简单的例子: #include<linux/regmap.h> // Reading a register unsignedint int0x10 // Writing to a register 0x200xFF 1 有时,你可能需要一次性读写多个寄存器,regmap提供了相应的函数支持。例如,regmap_bulk_read...
ret =regmap_bulk_read(dev->regmap, ICM20_ACCEL_XOUT_H, data,14); dev->accel_x_adc = (signedshort)((data[0] <<8) | data[1]); dev->accel_y_adc = (signedshort)((data[2] <<8) | data[3]); dev->accel_z_adc = (signedshort)((data[4] <<8) | data[5]); ...
在下文中一共展示了regmap_bulk_read函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。 示例1: ltr501_read_thresh ▲点赞 7▼ staticintltr501_read_thresh(struct iio_dev *indio_dev,conststruct iio_chan_spec *cha...
ret = regmap_read(max77686->regmap, MAX77686_REG_DEVICE_ID, &data);if(ret <0) { dev_err(max77686->dev,"device not found on this channel (this is not an error)\n");return-ENODEV; } ret = devm_regmap_add_irq_chip(&i2c->dev, max77686->regmap, ...
* does not support bulk read. * @use_single_write: If set, converts the bulk write operation into a series of * single write operations. This is useful for a device that * does not support bulk write. * @can_multi_write: If set, the device supports the multi write mode of bulk ...
在初始化好regmap之后,就可以调用regmap提供的read/write/update等操作了。 intregmap_write(structregmap *map,intreg,intval);//向单个reg写入valintregmap_raw_write(structregmap *map,intreg,void*val,size_tval_len);//向单个reg写入指定长度的数据,数据存放在val中intregmap_bulk_write(structregmap *map,uns...
ret = regmap_bulk_read(rtc->regmap, rtc->addr_base + RTC_TC_SEC, data, RTC_OFFSET_COUNT);if(ret <0)gotoexit; tm->tm_sec = data[RTC_OFFSET_SEC]; tm->tm_min = data[RTC_OFFSET_MIN]; tm->tm_hour = data[RTC_OFFSET_HOUR]; ...