本帖最后由 ctang 于 2017-9-25 16:28 编辑 MCU用的是STM32L0系列。 有一个37053A的芯片。需要通过I2C通信,向该芯片的一系列寄存器,写初始值。 MCU做master,芯片做slave。 问: ①初始值存在哪? ②将值写入寄存器的代码,如何设计,是写一个值调用一次I2C读写函数,还是其他简洁操作?
芯片资料告诉了,寄存器推荐值。
我的意思是,写500个值,用500行I2C写函数,还是有其他简化代码?
用const数组!!!
const数组能把值存下来。那地址呢,如何把地址与数据一对一的存下来?
有不有什么数据结构,像上位机语言的dictionary<key, value>类那样的。
都可以。。。实际情况来看!!!
问一下,芯片上点后,其寄存器的值是default值,还是都是0?
这款芯片有page和address,部分截图如下。你所说的一下dump出来,是指:
①用I2C读函数读取所有字节,保存在byte数组里面吗?
②然后按数组下标,修改要修改的寄存器?
下位机编程的思路,跟上位机好像不一样。如果是上位机的话,就很好用哈希表把地址和数据一对一保存下来,然后用for循环遍历所有元素。
page、address、data如何关联保存,用什么数据结构?
可以保存到一个结构体里,但要注意数据对齐。也可以顺序保存到一个数组里。
评分
查看全部评分
像这样吗?
可以。
OK. 多谢