stm32的i2c是在从设备接受数据后能正确发送NACK,根据手册是在接收完倒数第2个字节后设置STOP位的操作说明。
(参见09年12月10版翻译手册499页)
和smbus的是不是一样?好像smbus是在在从设备接受完最后一个字节后才设置STOP位的,不然好像偶尔会出错。
最近用一个可以通过smbus设置的电源管理芯片是遇到按手册说的用i2c的设置停止位方式会出错。按照接收完最后一个字节再设置stop位就没问题了,已经设置为smbus模式。请问有没有关于stm32 smbus在IAR下的例子? |