11.22:完善注释;提高代码的移植性;完善串口程序。
This commit is contained in:
@@ -1,25 +1,110 @@
|
||||
#include "stm32f10x.h" // Device header
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "queue.h"
|
||||
#include "semphr.h"
|
||||
#include "Delay.h"
|
||||
#include "USART.h"
|
||||
#include "LED.h"
|
||||
|
||||
/* <20><><EFBFBD><EFBFBD>֤<EFBFBD>ĸĶ<C4B8><C4B6><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD>ڡ<EFBFBD> */
|
||||
/* <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һһ<D2BB><D2BB>Ӧ<EFBFBD><D3A6> */
|
||||
TaskHandle_t xSampleTaskHandler;
|
||||
TaskHandle_t xTaskStateLedHdlr;
|
||||
TaskHandle_t xTaskWifiConnectHdlr;
|
||||
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD> */
|
||||
QueueHandle_t xQueueUsart1IrqHdlr;
|
||||
QueueHandle_t xQueueUsart2IrqHdlr;
|
||||
QueueHandle_t xQueueUsart3IrqHdlr;
|
||||
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
SemaphoreHandle_t xSemWifiRetOkHdlr;
|
||||
SemaphoreHandle_t xSemWifiRetErrHdlr;
|
||||
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
void vSampleTask(void *pvParameters)
|
||||
void vTaskStateLed(void *pvParameters)
|
||||
{
|
||||
while(1)
|
||||
{
|
||||
|
||||
}
|
||||
while(1)
|
||||
{
|
||||
vPc13LedOn();
|
||||
vTaskDelay(1000);
|
||||
vUsartPrintf(USART3, "USART3 Printf Test\r%d\n", 123);
|
||||
vPc13LedOff();
|
||||
vTaskDelay(1000);
|
||||
}
|
||||
}
|
||||
|
||||
void vTaskWifiConnection(void *pvParameters)
|
||||
{
|
||||
uint8_t ucRetvalQueueWifiSt = 0;
|
||||
uint8_t ucBufferQueueRec = 0;
|
||||
while (1)
|
||||
{
|
||||
vUsartSendString(USART2, "AT\r\n");
|
||||
vTaskDelay(1000);
|
||||
ucRetvalQueueWifiSt = xQueueReceive(xQueueUsart2IrqHdlr, &ucBufferQueueRec, pdMS_TO_TICKS(30));
|
||||
/* code */
|
||||
if (ucRetvalQueueWifiSt == pdTRUE)
|
||||
{
|
||||
/* code */
|
||||
vUsartSendString(USART3, (char *)&ucBufferQueueRec);
|
||||
} else
|
||||
{
|
||||
vUsartSendString(USART3, "Queue Receive failed!\r\n");
|
||||
vTaskDelay(300);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void vCreateTasksList(void)
|
||||
{
|
||||
xTaskCreate(
|
||||
(TaskFunction_t ) vTaskStateLed,
|
||||
(char * ) "TaskName_StateLed",
|
||||
(configSTACK_DEPTH_TYPE) 256,
|
||||
(void * ) NULL,
|
||||
(UBaseType_t ) 2,
|
||||
(TaskHandle_t * ) &xTaskStateLedHdlr);
|
||||
xTaskCreate(
|
||||
(TaskFunction_t ) vTaskWifiConnection,
|
||||
(char * ) "TaskName_WifiConnectToAP",
|
||||
(configSTACK_DEPTH_TYPE) 512,
|
||||
(void * ) NULL,
|
||||
(UBaseType_t ) 2,
|
||||
(TaskHandle_t * ) &xTaskWifiConnectHdlr);
|
||||
}
|
||||
|
||||
void vCreateQueuesList(void)
|
||||
{
|
||||
xQueueUsart1IrqHdlr = xQueueCreate(
|
||||
(UBaseType_t) 64,
|
||||
(UBaseType_t) sizeof(uint8_t *));
|
||||
xQueueUsart2IrqHdlr = xQueueCreate(
|
||||
(UBaseType_t) 64,
|
||||
(UBaseType_t) sizeof(uint8_t *));
|
||||
xQueueUsart3IrqHdlr = xQueueCreate(
|
||||
(UBaseType_t) 64,
|
||||
(UBaseType_t) sizeof(uint8_t *));
|
||||
}
|
||||
|
||||
void vCreateSemaphoresList(void)
|
||||
{
|
||||
xSemWifiRetOkHdlr = xSemaphoreCreateBinary();
|
||||
xSemWifiRetErrHdlr = xSemaphoreCreateBinary();
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
xTaskCreate(vSampleTask, "SampleTask", 128, NULL, 2, &xSampleTaskHandler);
|
||||
vTaskStartScheduler();
|
||||
while(1)
|
||||
{
|
||||
|
||||
}
|
||||
vUsartInit(USART1, 115200);
|
||||
vUsartInit(USART2, 115200);
|
||||
vDelayInit();
|
||||
vPc13LedInit();
|
||||
vCreateTasksList();
|
||||
vCreateQueuesList();
|
||||
vCreateSemaphoresList();
|
||||
vTaskStartScheduler();
|
||||
while(1)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user