11.12_2:优化了部分变量。
This commit is contained in:
@@ -31,8 +31,8 @@
|
|||||||
#define LORA_EXECUTOR_HUMIDIFIER 0xFC
|
#define LORA_EXECUTOR_HUMIDIFIER 0xFC
|
||||||
#define LORA_EXECUTOR_BUZZER 0xFD
|
#define LORA_EXECUTOR_BUZZER 0xFD
|
||||||
#define LORA_EXECUTOR_SERVO 0xFE
|
#define LORA_EXECUTOR_SERVO 0xFE
|
||||||
#define LORA_EXECUTOR_STATUS_ON 0x01
|
#define LORA_EXECUTOR_COMMAND_ON 0x01
|
||||||
#define LORA_EXECUTOR_STATUS_OFF 0x00
|
#define LORA_EXECUTOR_COMMAND_OFF 0x00
|
||||||
|
|
||||||
/* LoRa<52><61>ֲ<EFBFBD><D6B2> */
|
/* LoRa<52><61>ֲ<EFBFBD><D6B2> */
|
||||||
|
|
||||||
@@ -96,16 +96,9 @@ typedef struct {
|
|||||||
} LoRaExecutorID_t;
|
} LoRaExecutorID_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint8_t ucStatusOn;
|
uint8_t ucCommandOn;
|
||||||
uint8_t ucStatusOff;
|
uint8_t ucCommandOff;
|
||||||
} LoRaExecutorFlag_t;
|
} LoRaExecutorCmd_t;
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
uint8_t ucRxState; //״̬<D7B4><CCAC><EFBFBD><EFBFBD>S=0
|
|
||||||
uint8_t ucRxReadIndex; //ָʾ<D6B8><CABE><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
uint8_t ucRxNodeIndex;
|
|
||||||
uint8_t ucRxExecutorIndex;
|
|
||||||
} LoRaUsart3Rx_t;
|
|
||||||
|
|
||||||
static LoRaGateConfig_t xLoRaGateConfig = {
|
static LoRaGateConfig_t xLoRaGateConfig = {
|
||||||
.ucLoRaGateAddrHigh = LORA_GATE_ADDR_HIGH,
|
.ucLoRaGateAddrHigh = LORA_GATE_ADDR_HIGH,
|
||||||
@@ -142,13 +135,11 @@ static LoRaExecutorID_t xLoRaExecutorID = {
|
|||||||
.ucIdServo = LORA_EXECUTOR_SERVO
|
.ucIdServo = LORA_EXECUTOR_SERVO
|
||||||
};
|
};
|
||||||
|
|
||||||
static LoRaExecutorFlag_t xLoRaExecutorStatus = {
|
static LoRaExecutorCmd_t xLoRaExecutorCommand = {
|
||||||
.ucStatusOn = LORA_EXECUTOR_STATUS_ON,
|
.ucCommandOn = LORA_EXECUTOR_COMMAND_ON,
|
||||||
.ucStatusOff = LORA_EXECUTOR_STATUS_OFF,
|
.ucCommandOff = LORA_EXECUTOR_COMMAND_OFF,
|
||||||
};
|
};
|
||||||
|
|
||||||
static LoRaUsart3Rx_t xLoRaUsart3Rx = { 0 };
|
|
||||||
|
|
||||||
void vLoRaConnectionPkt(uint8_t ucNodeId);
|
void vLoRaConnectionPkt(uint8_t ucNodeId);
|
||||||
void vLoRaToGateIdPkt(uint8_t ucNodeId);
|
void vLoRaToGateIdPkt(uint8_t ucNodeId);
|
||||||
void vLoRaToGateSenIdPkt(uint8_t ucSensorId);
|
void vLoRaToGateSenIdPkt(uint8_t ucSensorId);
|
||||||
@@ -156,5 +147,4 @@ void vLoRaToGateExeIdPkt(uint8_t ucExecutorId);
|
|||||||
eLoRaMsgRecStatus xLoRaMessageReceived(uint8_t *pucData);
|
eLoRaMsgRecStatus xLoRaMessageReceived(uint8_t *pucData);
|
||||||
eLoRaMsgRecStatus xLoRaMsgProcess(uint8_t ucDataRecNodeId, uint8_t ucDataRecExeId, uint8_t ucDataRecExeSta);
|
eLoRaMsgRecStatus xLoRaMsgProcess(uint8_t ucDataRecNodeId, uint8_t ucDataRecExeId, uint8_t ucDataRecExeSta);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -26,7 +26,7 @@ void vDelayUs(uint32_t ulNus)
|
|||||||
ulTemp=SysTick->CTRL;
|
ulTemp=SysTick->CTRL;
|
||||||
} while((ulTemp&0x01)&&!(ulTemp&(1<<16))); //<2F>ȴ<EFBFBD>ʱ<EFBFBD>䵽<EFBFBD><E4B5BD>
|
} while((ulTemp&0x01)&&!(ulTemp&(1<<16))); //<2F>ȴ<EFBFBD>ʱ<EFBFBD>䵽<EFBFBD><E4B5BD>
|
||||||
SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; //<2F>رռ<D8B1><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; //<2F>رռ<D8B1><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
||||||
SysTick->VAL =0X00; //<2F><><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
SysTick->VAL =0x00; //<2F><><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD>
|
||||||
}
|
}
|
||||||
|
|
||||||
//<2F><>ʱnms
|
//<2F><>ʱnms
|
||||||
@@ -60,7 +60,7 @@ void vDelayMs(uint16_t usNms)
|
|||||||
ulTemp = SysTick->CTRL;
|
ulTemp = SysTick->CTRL;
|
||||||
} while ((ulTemp & 0x01) && !(ulTemp & (1 << 16)));
|
} while ((ulTemp & 0x01) && !(ulTemp & (1 << 16)));
|
||||||
SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk;
|
SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk;
|
||||||
SysTick->VAL = 0X00;
|
SysTick->VAL = 0x00;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,6 @@
|
|||||||
#define USART3_GPIO_PIN_RX GPIO_Pin_11
|
#define USART3_GPIO_PIN_RX GPIO_Pin_11
|
||||||
#define USART3_GPIO_PIN_ATK_AUX GPIO_Pin_4 // PA4
|
#define USART3_GPIO_PIN_ATK_AUX GPIO_Pin_4 // PA4
|
||||||
#define USART3_GPIO_PIN_ATK_MD0 GPIO_Pin_3 // PB3
|
#define USART3_GPIO_PIN_ATK_MD0 GPIO_Pin_3 // PB3
|
||||||
#define USART3_QUEUE_LENGTH 256
|
|
||||||
|
|
||||||
extern QueueHandle_t xQueueUsart3IrqHdlr;
|
extern QueueHandle_t xQueueUsart3IrqHdlr;
|
||||||
|
|
||||||
|
|||||||
@@ -10,11 +10,12 @@
|
|||||||
#include "Relay.h"
|
#include "Relay.h"
|
||||||
|
|
||||||
/* <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һһ<D2BB><D2BB>Ӧ<EFBFBD><D3A6> */
|
/* <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һһ<D2BB><D2BB>Ӧ<EFBFBD><D3A6> */
|
||||||
TaskHandle_t xStateLedTaskHdlr;
|
TaskHandle_t xTaskStateLedHdlr;
|
||||||
TaskHandle_t xFanCtrlTaskHdlr;
|
TaskHandle_t xTaskLedCtrlHdlr;
|
||||||
TaskHandle_t xDht11TaskHdlr;
|
TaskHandle_t xTaskFanCtrlHdlr;
|
||||||
TaskHandle_t xLoRaToGateTskHdlr;
|
TaskHandle_t xTaskDht11Hdlr;
|
||||||
TaskHandle_t xLoRaMsgRecTskHdlr;
|
TaskHandle_t xTaskLoRaToGateHdlr;
|
||||||
|
TaskHandle_t xTaskLoRaMsgRecHdlr;
|
||||||
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD> */
|
||||||
QueueHandle_t xQueueTempHdlr;
|
QueueHandle_t xQueueTempHdlr;
|
||||||
@@ -22,34 +23,42 @@ QueueHandle_t xQueueHumiHdlr;
|
|||||||
QueueHandle_t xQueueUsart3IrqHdlr;
|
QueueHandle_t xQueueUsart3IrqHdlr;
|
||||||
|
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
SemaphoreHandle_t xSemLedOnHandler;
|
SemaphoreHandle_t xSemLedOnHdlr;
|
||||||
SemaphoreHandle_t xSemLedOffHandler;
|
SemaphoreHandle_t xSemLedOffHdlr;
|
||||||
SemaphoreHandle_t xSemFanOnHdlr;
|
SemaphoreHandle_t xSemFanOnHdlr;
|
||||||
SemaphoreHandle_t xSemFanOffHdlr;
|
SemaphoreHandle_t xSemFanOffHdlr;
|
||||||
|
|
||||||
/* <20><>˸LED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>NULL<4C><4C> */
|
/* <20><>˸LED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>NULL<4C><4C> */
|
||||||
void vStateLedTask(void *pvParameters)
|
void vTaskStateLed(void *pvParameters)
|
||||||
{
|
{
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
// vPc13LedOn();
|
vPc13LedOn();
|
||||||
// vTaskDelay(1000);
|
vTaskDelay(1000);
|
||||||
// vPc13LedOff();
|
vPc13LedOff();
|
||||||
// vTaskDelay(1000);
|
vTaskDelay(1000);
|
||||||
if (xSemaphoreTake(xSemLedOnHandler, pdMS_TO_TICKS(10)) == pdTRUE)
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void vTaskLedControl(void *pvParameters)
|
||||||
|
{
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
/* code */
|
||||||
|
if (xSemaphoreTake(xSemLedOnHdlr, pdMS_TO_TICKS(10)) == pdTRUE)
|
||||||
{
|
{
|
||||||
vPc13LedOn();
|
vPc13LedOn();
|
||||||
xSemaphoreGive(xSemLedOnHandler);
|
xSemaphoreGive(xSemLedOnHdlr);
|
||||||
} else if (xSemaphoreTake(xSemLedOffHandler, pdMS_TO_TICKS(10)) == pdTRUE)
|
} else if (xSemaphoreTake(xSemLedOffHdlr, pdMS_TO_TICKS(10)) == pdTRUE)
|
||||||
{
|
{
|
||||||
/* code */
|
/* code */
|
||||||
vPc13LedOff();
|
vPc13LedOff();
|
||||||
xSemaphoreGive(xSemLedOffHandler);
|
xSemaphoreGive(xSemLedOffHdlr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void vFanControlTask(void *pvParameters)
|
void vTaskFanControl(void *pvParameters)
|
||||||
{
|
{
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
@@ -65,12 +74,11 @@ void vFanControlTask(void *pvParameters)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void vDht11Task(void *pvParameters)
|
void vTaskDht11(void *pvParameters)
|
||||||
{
|
{
|
||||||
DHT11Data_t xDHT11Data;
|
DHT11Data_t xDHT11Data;
|
||||||
/* <20><><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD>顣Ҫ<E9A1A3><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>Сһһ<D2BB><D2BB>Ӧ<EFBFBD><D3A6> */
|
/* <20><><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD>顣Ҫ<E9A1A3><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>Сһһ<D2BB><D2BB>Ӧ<EFBFBD><D3A6> */
|
||||||
uint8_t ucSendTempData = 0;
|
uint8_t ucSendTempData = 0, ucSendHumiData = 0;
|
||||||
uint8_t ucSendHumiData = 0;
|
|
||||||
if (vDht11Init() != 0)
|
if (vDht11Init() != 0)
|
||||||
{
|
{
|
||||||
/* <20><>ʼ<EFBFBD><CABC>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><>ʼ<EFBFBD><CABC>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
@@ -96,12 +104,9 @@ void vDht11Task(void *pvParameters)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void vLoRaToGatePktTask(void *pvParameters)
|
void vTaskLoRaToGatePkt(void *pvParameters)
|
||||||
{
|
{
|
||||||
uint8_t ucRecTempData = 0;
|
uint8_t ucRecTempData = 0, ucRecHumiData = 0;
|
||||||
uint8_t ucRecHumiData = 0;
|
|
||||||
uint8_t testData = 0xAC;
|
|
||||||
uint8_t ledOff = 0xAD;
|
|
||||||
/* <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ճɹ<D5B3> */
|
/* <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ճɹ<D5B3> */
|
||||||
BaseType_t xQueueTempRetval, xQueueHumiRetval;
|
BaseType_t xQueueTempRetval, xQueueHumiRetval;
|
||||||
while (1)
|
while (1)
|
||||||
@@ -123,20 +128,22 @@ void vLoRaToGatePktTask(void *pvParameters)
|
|||||||
vUsart3SendArray(&ucRecTempData, 1);
|
vUsart3SendArray(&ucRecTempData, 1);
|
||||||
vUsart3SendArray(&ucRecHumiData, 1);
|
vUsart3SendArray(&ucRecHumiData, 1);
|
||||||
}
|
}
|
||||||
if (xSemaphoreTake(xSemLedOnHandler, pdMS_TO_TICKS(10)) == pdTRUE)
|
if (xSemaphoreTake(xSemLedOnHdlr, pdMS_TO_TICKS(10)) == pdTRUE)
|
||||||
{
|
{
|
||||||
/* code */
|
/* code */
|
||||||
vUsart3SendArray(&testData, 1);
|
vUsart3SendArray(&xLoRaExecutorID.ucIdLed, 1);
|
||||||
} else if (xSemaphoreTake(xSemLedOffHandler, pdMS_TO_TICKS(10)) == pdTRUE)
|
vUsart3SendArray(&xLoRaExecutorCommand.ucCommandOn, 1);
|
||||||
|
} else if (xSemaphoreTake(xSemLedOffHdlr, pdMS_TO_TICKS(10)) == pdTRUE)
|
||||||
{
|
{
|
||||||
/* code */
|
/* code */
|
||||||
vUsart3SendArray(&ledOff, 1);
|
vUsart3SendArray(&xLoRaExecutorID.ucIdLed, 1);
|
||||||
|
vUsart3SendArray(&xLoRaExecutorCommand.ucCommandOff, 1);
|
||||||
}
|
}
|
||||||
vTaskDelay(1000);
|
vTaskDelay(500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void vLoRaMsgRecTask(void *pvParameters)
|
void vTaskLoRaMsgRec(void *pvParameters)
|
||||||
{
|
{
|
||||||
uint8_t ucDataRecNodeId = 0, ucDataRecExeId = 0, ucDataRecExeSta = 0;
|
uint8_t ucDataRecNodeId = 0, ucDataRecExeId = 0, ucDataRecExeSta = 0;
|
||||||
uint8_t ucRetvalQueueNodeId = 0, ucRetvalQueueExeId = 0, ucRetvalQueueExeSta = 0;
|
uint8_t ucRetvalQueueNodeId = 0, ucRetvalQueueExeId = 0, ucRetvalQueueExeSta = 0;
|
||||||
@@ -151,11 +158,11 @@ void vLoRaMsgRecTask(void *pvParameters)
|
|||||||
if (xLoRaMsgProcess(ucDataRecNodeId, ucDataRecExeId, ucDataRecExeSta) == statusLedOn)
|
if (xLoRaMsgProcess(ucDataRecNodeId, ucDataRecExeId, ucDataRecExeSta) == statusLedOn)
|
||||||
{
|
{
|
||||||
/* code */
|
/* code */
|
||||||
xSemaphoreGive(xSemLedOnHandler);
|
xSemaphoreGive(xSemLedOnHdlr);
|
||||||
} else if (xLoRaMsgProcess(ucDataRecNodeId, ucDataRecExeId, ucDataRecExeSta) == statusLedOff)
|
} else if (xLoRaMsgProcess(ucDataRecNodeId, ucDataRecExeId, ucDataRecExeSta) == statusLedOff)
|
||||||
{
|
{
|
||||||
/* code */
|
/* code */
|
||||||
xSemaphoreGive(xSemLedOffHandler);
|
xSemaphoreGive(xSemLedOffHdlr);
|
||||||
} else if (xLoRaMsgProcess(ucDataRecNodeId, ucDataRecExeId, ucDataRecExeSta) == statusFanOn)
|
} else if (xLoRaMsgProcess(ucDataRecNodeId, ucDataRecExeId, ucDataRecExeSta) == statusFanOn)
|
||||||
{
|
{
|
||||||
/* code */
|
/* code */
|
||||||
@@ -173,41 +180,48 @@ void vLoRaMsgRecTask(void *pvParameters)
|
|||||||
void vCreateTasksList(void)
|
void vCreateTasksList(void)
|
||||||
{
|
{
|
||||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F1A3ACB2><EFBFBD><EFBFBD>ֱ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ջ<EFBFBD><D5BB>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F1A3ACB2><EFBFBD><EFBFBD>ֱ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ջ<EFBFBD><D5BB>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
|
// xTaskCreate(
|
||||||
|
// (TaskFunction_t ) vTaskStateLed,
|
||||||
|
// (char * ) "TaskName_StateLed",
|
||||||
|
// (configSTACK_DEPTH_TYPE) 256,
|
||||||
|
// (void * ) NULL,
|
||||||
|
// (UBaseType_t ) 2,
|
||||||
|
// (TaskHandle_t * ) &xTaskStateLedHdlr);
|
||||||
xTaskCreate(
|
xTaskCreate(
|
||||||
(TaskFunction_t ) vStateLedTask,
|
(TaskFunction_t ) vTaskLedControl,
|
||||||
(char * ) "TaskName_StateLed",
|
(char * ) "TaskName_LedControl",
|
||||||
(configSTACK_DEPTH_TYPE) 512,
|
(configSTACK_DEPTH_TYPE) 256,
|
||||||
(void * ) NULL,
|
(void * ) NULL,
|
||||||
(UBaseType_t ) 2,
|
(UBaseType_t ) 2,
|
||||||
(TaskHandle_t * ) &xStateLedTaskHdlr);
|
(TaskHandle_t * ) &xTaskLedCtrlHdlr);
|
||||||
xTaskCreate(
|
xTaskCreate(
|
||||||
(TaskFunction_t ) vFanControlTask,
|
(TaskFunction_t ) vTaskFanControl,
|
||||||
(char * ) "TaskName_FanControl",
|
(char * ) "TaskName_FanControl",
|
||||||
(configSTACK_DEPTH_TYPE) 256,
|
(configSTACK_DEPTH_TYPE) 256,
|
||||||
(void * ) NULL,
|
(void * ) NULL,
|
||||||
(UBaseType_t ) 2,
|
(UBaseType_t ) 2,
|
||||||
(TaskHandle_t * ) &xFanCtrlTaskHdlr);
|
(TaskHandle_t * ) &xTaskFanCtrlHdlr);
|
||||||
xTaskCreate(
|
xTaskCreate(
|
||||||
(TaskFunction_t ) vDht11Task,
|
(TaskFunction_t ) vTaskDht11,
|
||||||
(char * ) "TaskName_DHT11",
|
(char * ) "TaskName_DHT11",
|
||||||
(configSTACK_DEPTH_TYPE) 512,
|
(configSTACK_DEPTH_TYPE) 512,
|
||||||
(void * ) NULL,
|
(void * ) NULL,
|
||||||
(UBaseType_t ) 2,
|
(UBaseType_t ) 2,
|
||||||
(TaskHandle_t * ) &xDht11TaskHdlr);
|
(TaskHandle_t * ) &xTaskDht11Hdlr);
|
||||||
xTaskCreate(
|
xTaskCreate(
|
||||||
(TaskFunction_t ) vLoRaToGatePktTask,
|
(TaskFunction_t ) vTaskLoRaToGatePkt,
|
||||||
(char * ) "TaskName_LoRaSendToGateway",
|
(char * ) "TaskName_LoRaSendToGateway",
|
||||||
(configSTACK_DEPTH_TYPE) 512,
|
(configSTACK_DEPTH_TYPE) 512,
|
||||||
(void * ) NULL,
|
(void * ) NULL,
|
||||||
(UBaseType_t ) 2,
|
(UBaseType_t ) 2,
|
||||||
(TaskHandle_t * ) &xLoRaToGateTskHdlr);
|
(TaskHandle_t * ) &xTaskLoRaToGateHdlr);
|
||||||
xTaskCreate(
|
xTaskCreate(
|
||||||
(TaskFunction_t ) vLoRaMsgRecTask,
|
(TaskFunction_t ) vTaskLoRaMsgRec,
|
||||||
(char * ) "TaskName_LoRaReceivedMessage",
|
(char * ) "TaskName_LoRaReceivedMessage",
|
||||||
(configSTACK_DEPTH_TYPE) 512,
|
(configSTACK_DEPTH_TYPE) 512,
|
||||||
(void * ) NULL,
|
(void * ) NULL,
|
||||||
(UBaseType_t ) 2,
|
(UBaseType_t ) 2,
|
||||||
(TaskHandle_t * ) &xLoRaMsgRecTskHdlr);
|
(TaskHandle_t * ) &xTaskLoRaMsgRecHdlr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void vCreateQueuesList(void)
|
void vCreateQueuesList(void)
|
||||||
@@ -231,10 +245,10 @@ void vCreateQueuesList(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void vCreateSemaphoreList(void)
|
void vCreateSemaphoresList(void)
|
||||||
{
|
{
|
||||||
xSemLedOnHandler = xSemaphoreCreateBinary();
|
xSemLedOnHdlr = xSemaphoreCreateBinary();
|
||||||
xSemLedOffHandler = xSemaphoreCreateBinary();
|
xSemLedOffHdlr = xSemaphoreCreateBinary();
|
||||||
xSemFanOnHdlr = xSemaphoreCreateBinary();
|
xSemFanOnHdlr = xSemaphoreCreateBinary();
|
||||||
xSemFanOffHdlr = xSemaphoreCreateBinary();
|
xSemFanOffHdlr = xSemaphoreCreateBinary();
|
||||||
}
|
}
|
||||||
@@ -246,7 +260,7 @@ int main(void)
|
|||||||
vPc13LedInit();
|
vPc13LedInit();
|
||||||
vUsart3Init(115200);
|
vUsart3Init(115200);
|
||||||
vCreateQueuesList();
|
vCreateQueuesList();
|
||||||
vCreateSemaphoreList();
|
vCreateSemaphoresList();
|
||||||
vCreateTasksList();
|
vCreateTasksList();
|
||||||
vTaskStartScheduler();
|
vTaskStartScheduler();
|
||||||
while(1)
|
while(1)
|
||||||
|
|||||||
Reference in New Issue
Block a user