我正在寻找关于使用此外设的文件,但除了SDK示例之外找不到任何内容
这个例子是关于写作和阅读EEPROM,但我不能使用它,因为我想读取温度传感器(TC74)
我的问题是,当我在i2c.c和i2c.h看时,我无法理解它实际上是如何工作的
如何与奴隶开始沟通?
我知道在函数periph_init(void)中有另一个函数i2c_init(&i2c_cfg);
但这是否意味着我可以在那之后写和阅读?
如果调用i2c_release(),该怎么办?
这是否意味着我需要再次调用i2c_init(&i2c_cfg)?
那个ack和nack怎么样我如何发送或读取它们,与start和stop bits相同
我正在asuming,这是在我不知道的函数之一中完成的
希望你能帮助我理解这一点
嗨,马格加,
我建议首先检查我们的DA14531-DA14585-586读取I2C加速度计BLESW示例。它显示了如何从I2C加速度计获取数据,并使用DA14531或DA14585 / 586设备使用BLE通知发送测量。作为外围I2C,使用ADXL345。在User_Adxl345.c文件中,您将找到显示如何使用SDK I2C驱动程序(6.0.14.1114 \ SDK \ Platflic \ Driver \ I2C)的功能以配置和读取I2C设备。
应该在periph_init()中调用i2c_init(),以初始化i2c块。初始化的所有I2C信息都在I2C_CFG配置结构中保持。
如果您有任何后续问题,请告诉我。
谢谢,PM_DIALOG.
你好,
我看到这个例子,但不能编译,所有API都有一个黄色三角形,这是另一个SDK的这个例子吗?如何添加要编译的引用?
嗨扬子糖。
I2C SW示例,作为所有DA14531 SW示例,不包含SDK - 如果检查下载包,则会看到仅包含应用程序层。为此,请在使用该示例之前,首先,您需要将其与SDK链接。
请检查以下文件:
http://lpccs-docs.dialog-semicondiondum/software_example_setup/index.html.
如果您使用的是SDK6.0.14,请遵循以下步骤:
dbb0 python dlg_make_keil5_env_v2.000.py -sdkpath " "
例如:
> python dlg_make_keil5_env_v2.000.py -sdkpath“c:\ dev \ 6.0.12”
我们正在致力于在此示例中更新Python脚本,以便使用SDK6.0.14运行。
谢谢,PM_DIALOG.
你好,
使用此示例,我Mange才能创建一个有效的功能,虽然我有另一个问题,但我正在使用P0_9作为我的SDA引脚,似乎Devkit中的LED会影响与从机的通信。
我会让我用的功能,以防人需要它:
//我使用I2C_EEPROM示例只需修改PIN SDA-> P0_7,SCL-> P0_8并从主循环调用此函数
void ReadTemp(无效)
{
// uint16_t i2c_address = 0x4d;//从设备地址A5
i2c_abort_t abort_code;//可用于错误检查
UINT8_T REG_ADDR = 0x00;//变量以保存寄存器地址
uint8_t byte_received = 0x00;//接收字节的中间存储
//获取测量LSB
i2c_master_transmit_buffer_sync(&reg_addr,1,&abort_code,i2c_f_none);//传输寄存器以阅读
i2c_master_receive_buffer_sync(&byte_received,1,&abort_code,i2c_f_none);//读取缓冲区
printf_string(UART,“\ n \ rtemperature:”);
printf_byte(UART,(byte_received)&0xff);
}
嗨,马格加,
感谢您接受我的回答和输入。
谢谢,PM_DIALOG.