Matlab Support Package for Raspberry Pi提供了对外部接口如LED、GPIO、I2C、SPI、UART的访问函数。
本文利用前一篇《
一起玩树莓派3 + 使用WiringPi控制树莓派的I2C口读取外部FRAM 》
https://bbs.eeworld.com.cn/thread-506020-1-1.html 的硬件接口,采用Matlab来读取I2C-FRAM
1、创建matlab到树莓派的连接
mypi = raspi
2、获取当前树莓派的I2C总线
mypi.AvailableI2CBuses
3、扫描I2C总线上的设备
[i2cAddresses] = scanI2CBus(mypi,'i2c-1')
可见扫描到了0x50~0x57的设备,为FRAM的page 0~7
4、在matlab中创建i2cdev对象
myi2cdev = i2cdev(mypi, 'i2c-1', '0x50')
5 、读取前10个byte,并十六进制显示
output = read(myi2cdev,10)
dec2hex(output)
与前次读取的数据相同
6、写入几个字节,并回读验证。
write(myi2cdev, [0, hex2dec('11'), hex2dec('22'), hex2dec('33') ])
output = dec2hex(read(myi2cdev,10))
可见写入的数据正确,这也在linux系统的i2cdump中可见
==========================================