Sample calls
QNX SDP8.0Customizing a BSPConfigurationDeveloper
A typical sequence of hardware library calls is as follows:
#include <hw/i2c.h>
i2c_master_funcs_t masterf;
i2c_libversion_t version;
i2c_status_t status;
void *hdl;
i2c_master_getfuncs(&masterf, sizeof(masterf));
masterf.version_info(&version);
if ((version.major != I2CLIB_VERSION_MAJOR) ||
(version.minor > I2CLIB_VERSION_MINOR))
{
/* error */
...
}
hdl = masterf.init(...);
masterf.set_bus_speed(hdl, ...);
masterf.set_slave_addr(hdl, ...);
status = masterf.send(hdl, ...);
if (status != I2C_STATUS_DONE) {
/* error */
if (!(status & I2C_STATUS_DONE))
masterf.abort(hdl);
}
status = masterf.recv(hdl, ...);
if (status != I2C_STATUS_DONE) {
/* error */
...
}
masterf.fini(hdl);
Page updated: