我正在为我们的设计开发使用 ZigBee 的无线更新软件解决 方案、并修改了原始 BSL (MSP432BSL_1_00_01_00)代码以与无线电通信。 我能够发送数据并接收来自目标器件(MSP432)的 ACK 值和消息、甚至能够成功完成更新、但 EUSCI_A_UART_SEND_INTERRUPT_FLAG 将不 会清除、并且我会卡在该循环中。 它是随机的、所以我想看看其他人是否看到过这种行为、或者它是否是已知的错误。 请参阅下面的代码以了解我的传输字节函数。
void Radio_sendByteUART (uint8_t data) { /*等待 TX 缓冲区为空,然后发送*/ while (MAP_GPIO_getInputPinValue (GPIO_PORT_P2、GPIO_PIN4));//等待对讲机准备好接收数据。 while (!(MAP_UART_getInterruptStatus (BSL432_RADIO_MODULE、EUSCI_A_UART_transmit、interrupt_FLAG)))); EUSCI_A1->TXBUF =数据; }
