11.12_1:解决了接收信号量的bug,优化了网关控制节点执行器的延迟。

This commit is contained in:
2025-11-12 17:55:29 +08:00
parent bfc15aaa18
commit 5c4ba1b3c6
6 changed files with 207 additions and 150 deletions

View File

@@ -130,7 +130,7 @@ void USART3_IRQHandler(void)
/* code */
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
uint8_t ulRxData = (uint8_t)USART_ReceiveData(USART3);
xQueueSendFromISR(xQueueUsart3ReHdlr, &ulRxData, &xHigherPriorityTaskWoken);
xQueueSendFromISR(xQueueUsart3IrqHdlr, &ulRxData, &xHigherPriorityTaskWoken);
USART_ClearITPendingBit(USART3, USART_IT_RXNE);
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD> */
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);

View File

@@ -8,13 +8,15 @@
#include <stdarg.h>
#include <string.h>
#define vLoRaIrqHandler USART3_IRQHandler
#define USART3_GPIO_PIN_TX GPIO_Pin_10
#define USART3_GPIO_PIN_RX GPIO_Pin_11
#define USART3_GPIO_PIN_ATK_AUX GPIO_Pin_4 // PA4
#define USART3_GPIO_PIN_ATK_MD0 GPIO_Pin_3 // PB3
#define USART3_QUEUE_LENGTH 256
extern QueueHandle_t xQueueUsart3ReHdlr;
extern QueueHandle_t xQueueUsart3IrqHdlr;
void vUsart3Init(uint32_t ulUsart3Baudrate);
void vUsart3SendByte(uint8_t ucByte);