主题中讨论的其他器件:CC3220SF、 CC3220S、 CC3220R、
您好!
我正在尝试在 P45/GPIO_31上使用 GPIO 中断。 为了触发中断、我在 C2000上使用了一个外部 GPIO、该 GPIO 在每5秒后变为高电平、然后返回低电平、如下图所示-
P45上输入 GPIO 中断的配置如下所示-
void slaveTempReadyFxn(uint_least8_t index) { dbg_flag++; } void *testThread(void *arg0) { int retc; int32_t msgqRetVal; SPI_Params spiParams; SPI_Transaction transaction; GPIO_setConfig(CONFIG_SPI_MASTER_READY, GPIO_CFG_OUTPUT | GPIO_CFG_OUT_LOW); GPIO_setConfig(CONFIG_SPI_SLAVE_READY, GPIO_CFG_INPUT); GPIO_setConfig(CONFIG_SPI_SLAVE_TEMP_READY, GPIO_CFG_INPUT); /* * Handshake - Set CONFIG_SPI_MASTER_READY high to indicate master is ready * to run. Wait CONFIG_SPI_SLAVE_READY to be high. */ GPIO_write(CONFIG_SPI_MASTER_READY, 1); while (GPIO_read(CONFIG_SPI_SLAVE_READY) == 0) {} /* Handshake complete; now configure interrupt on CONFIG_SPI_SLAVE_READY */ GPIO_setConfig(CONFIG_SPI_SLAVE_READY, GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_FALLING); GPIO_setCallback(CONFIG_SPI_SLAVE_READY, slaveReadyFxn); GPIO_enableInt(CONFIG_SPI_SLAVE_READY); GPIO_setConfig(CONFIG_SPI_SLAVE_TEMP_READY, GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_FALLING); GPIO_setCallback(CONFIG_SPI_SLAVE_TEMP_READY, slaveTempReadyFxn); GPIO_enableInt(CONFIG_SPI_SLAVE_TEMP_READY); /* Open SPI as master (default) */ SPI_Params_init(&spiParams); spiParams.frameFormat = SPI_POL0_PHA0; spiParams.transferMode= SPI_MODE_BLOCKING; spiParams.bitRate = 1000000; spiParams.dataSize = 16; masterSpi = SPI_open(CONFIG_SPI_MASTER, &spiParams); if (masterSpi == NULL) { // Display_printf(display, 0, 0, "Error initializing master SPI\n"); while (1); } /*Some Other Code*/ }
另一个引脚 P50/30上的中断工作正常、但它完全不能与 P45一起工作。 我还将使用 SPI 与外部 MCU 通信、并将其用于网络、用于显示的 UART 和 XDS、如下所示-
有人能帮助解决这里的问题吗?
谢谢你。
此致、
Kuldeep