This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
需要有关在 CPU2上配置 I2C 的帮助。 我在 CPU1上运行以下命令:
DEVICE_BOOTCPU2 (BOOTMODE_BOOT_TO_M0RAM);
GPIO_setPinConfig (GPIO_32_SDAA);
GPIO_setPinConfig (GPIO_33_SCLA);
GPIO_setMasterCore (32、GPIO_CORE_CPU2);
GPIO_setMasterCore (33、GPIO_CORE_CPU2);
尝试在 CPU2上初始化 I2CA:
//
//必须在配置 I2C 之前将其复位
//
I2C_DisableModule (I2CA_BASE);
//
// I2C 配置。 使用占空比为50%的400kHz I2CCLK。
//
I2C_initMaster (I2CA_BASE、DEVICE_SYSCLK_FREQ、400000、I2C_DUTYCYCLE _50);
I2C_setConfig (I2CA_BASE、I2C_MASTER_SEND_MODE);
I2C_setDataCount (I2CA_BASE、2);
I2C_setBitCount (I2CA_BASE、I2C_BITCOUNT_8);
//
//配置内部回送模式
//
I2C_setSlaveAddress (I2CA_BASE、SLAVE_ADDRESS);
I2C_setOwnSlaveAddress (I2CA_BASE、SLAVE_ADDRESS);
I2C_enableLoopback (I2CA_BASE);
I2C_setEmulationMode (I2CA_BASE、I2C_emulation_stop_SCL_low);
//
// FIFO 和中断配置
//
I2C_enableFIFO (I2CA_BASE);
I2C_clearInterruptStatus (I2CA_BASE、I2C_INT_RXFF | I2C_INT_TXFF);
//
//发送 FIFO 中断级别被设置为生成中断
// 16字节 TX FIFO 包含2个或更少字节的数据。
//接收 FIFO 中断级别被设置为生成中断
// 16字节 RX FIFO 包含2个或更大字节的数据。
//
I2C_setFIFOInterruptLevel (I2CA_BASE、I2C_FIFO_TX2、I2C_FIFO_RX2);
I2C_enableInterrupt (I2CA_BASE、I2C_INT_RXFF | I2C_INT_TXFF);
//
//配置完成。 启用模块。
//
I2C_enableModule (I2CA_BASE);
观察寄存器窗口、它看起来这些值没有写入寄存器。 不确定缺少什么。
谢谢、
尊敬的 Andy:
我相信这一行下面的代码
[引用 user="Andy Fung"]尝试在 CPU2上初始化 I2CA:
在 CPU2上运行。
然后、在 CPU1中、您必须执行该操作
SYSCTL_selectCPUForPeripheral (SYSCTL_CPUSEL7_I2C、1、 SYSCTL_CPUSEL_CPU2)、以便从 CPU2控制外设。
此致、
Sudharsanan
您好 Sudharsanan、
感谢您的回复。 它的工作原理。 谢谢。