@@ -37,69 +37,65 @@ void vDht11Task(void *pvParameters)
{
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> */
uint8_t ucSendTempBuffer [ 5 ] = { 0 } ;
uint8_t ucSendHumiBuffer [ 5 ] = { 0 } ;
uint8_t ucSendTempData = 0 ;
uint8_t ucSendHumiData = 0 ;
if ( vDht11Init ( ) ! = 0 )
{
/* <20> <> ʼ <EFBFBD> <CABC> ʧ<EFBFBD> ܣ<EFBFBD> <DCA3> <EFBFBD> <EFBFBD> д<EFBFBD> <D0B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> */
// vUsart3Printf("DHT11 Init Failed\r\n.");
ucSendTempData = ucSendHumiData = 0xAA ;
xQueueSend ( xQueueTempHdlr , & ucSendTempData , pdMS_TO_TICKS ( 10 ) ) ;
xQueueSend ( xQueueHumiHdlr , & ucSendHumiData , pdMS_TO_TICKS ( 10 ) ) ;
// vTaskDelay(50);
}
while ( 1 )
{
/* code */
if ( vDht11Init ( ) ! = 0 )
{
/* <20> <> ʼ <EFBFBD> <CABC> ʧ<EFBFBD> ܣ<EFBFBD> <DCA3> <EFBFBD> <EFBFBD> д<EFBFBD> <D0B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> */
// vUsart3Printf("DHT11 Init Failed\r\n.");
for ( int iIndex = 0 ; iIndex < 5 ; iIndex + + )
{
ucSendTempBuffer [ iIndex ] = 0xAA ;
vTaskDelay ( 50 ) ;
ucSendHumiBuffer [ iIndex ] = 0xAA ;
vTaskDelay ( 50 ) ;
}
}
if ( vDht11ReadData ( & xDHT11Data . ucTemp , & xDHT11Data . ucHumi ) = = 0 )
{
/* code */
for ( int iIndex = 0 ; iIndex < 5 ; iIndex + + )
{
/* code */
ucSendTempBuffer [ iIndex ] = xDHT11Data . ucTemp ;
vTaskDelay ( 50 ) ;
ucSendHumiBuffer [ iIndex ] = xDHT11Data . ucHumi ;
vTaskDelay ( 50 ) ;
}
ucSendTempData = xDHT11Data . ucTemp ;
// vTaskDelay(50);
ucSendHumiData = xDHT11Data . ucHumi ;
// vTaskDelay(50);
/* д<> <D0B4> <EFBFBD> С <EFBFBD> <D0A1> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƕ<EFBFBD> <C7B6> о <EFBFBD> <D0BE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڶ<EFBFBD> <DAB6> <EFBFBD> <EFBFBD> <EFBFBD> д<EFBFBD> <D0B4> <EFBFBD> <EFBFBD> <EFBFBD> е ĵ<D0B5> ַ<EFBFBD> <D6B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 飩<EFBFBD> <E9A3A9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> ĵȴ<C4B5> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> Ҳ<EFBFBD> <D2B2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> д<EFBFBD> <D0B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> ĵȴ<C4B5> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> Բ<EFBFBD> <D4B2> <EFBFBD> ϵͳĬ<CDB3> <C4AC> ʱ<EFBFBD> ӽ<EFBFBD> <D3BD> <EFBFBD> Ϊ<CEAA> <D7BC> */
xQueueSend ( xQueueTempHdlr , ucSendTempBuffer , 0 ) ;
xQueueSend ( xQueueHumiHdlr , ucSendHumiBuffer , 0 ) ;
xQueueSend ( xQueueTempHdlr , & ucSendTempData , pdMS_TO_TICKS ( 10 ) ) ;
xQueueSend ( xQueueHumiHdlr , & ucSendHumiData , pdMS_TO_TICKS ( 10 ) ) ;
} else
{
// vUsart3Printf("DHT11 Read Data Failed\r\n.");
for ( int iIndex = 0 ; iIndex < 5 ; iIndex + + )
{
ucSendTempBuffer [ iIndex ] = 0xAB ;
vTaskDelay ( 50 ) ;
ucSendHumiBuffer [ iIndex ] = 0xAB ;
vTaskDelay ( 50 ) ;
}
ucSendTempData = ucSendHumiData = 0xAB ;
// vTaskDelay(50);
}
}
}
void vLoRaRecMsgTask ( void * pvParameters )
{
uint8_t p ucRecIsrBuffe r[ 128 ] = { 0 } ;
uint8_t ucBufferRecFromIs r [ 128 ] = { 0 } ;
static uint32_t ulLastSendTime = 0 ;
while ( 1 )
{
/* code */
if ( xQueueReceive ( xQueueUsart3ReHdlr , pucRecIsrBuffer , 0 ) = = pdTRUE )
if ( xQueueReceive ( xQueueUsart3ReHdlr , ucBufferRecFromIsr , pdMS_TO_TICKS ( 10 ) ) = = pdTRUE )
{
/* code */
vUsart3SendArray ( pucRecIsrBuffer , 1 ) ;
// ֻ<> г <EFBFBD> <D0B3> <EFBFBD> һ <EFBFBD> <D2BB> ʱ<EFBFBD> <CAB1> û<EFBFBD> з<EFBFBD> <D0B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> ŷ<EFBFBD> <C5B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӱ<EFBFBD>
if ( ( xTaskGetTickCount ( ) - ulLastSendTime ) > pdMS_TO_TICKS ( 1000 ) )
{
vLoRaConnectionPkt ( xLoRaGateConfig . ucLoRaGateChannel ) ;
vTaskDelay ( 10 ) ;
}
vUsart3SendArray ( ucBufferRecFromIsr , 1 ) ;
ulLastSendTime = xTaskGetTickCount ( ) ;
}
}
}
void vLoRaToGatePktTask ( void * pvParameters )
{
uint8_t ucRecTempBuffer [ 5 ] = { 0 } ;
uint8_t ucRecHumiBuffer [ 5 ] = { 0 } ;
uint8_t ucRecTempData = 0 ;
uint8_t ucRecHumiData = 0 ;
/* <20> <> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֵ<EFBFBD> ж<EFBFBD> <D0B6> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> ճɹ<D5B3> */
BaseType_t xQueueTempRetval , xQueueHumiRetval ;
while ( 1 )
@@ -108,27 +104,27 @@ void vLoRaToGatePktTask(void *pvParameters)
/* <20> <> <EFBFBD> ն<EFBFBD> <D5B6> У <EFBFBD> <D0A3> <EFBFBD> <EFBFBD> о <EFBFBD> <D0BE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ĸ<EFBFBD> <C4B8> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݻ<EFBFBD> <DDBB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> δ<EFBFBD> <CEB4> <EFBFBD> յ<EFBFBD> <D5B5> <EFBFBD> <EFBFBD> ݵĵȴ<C4B5> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 3<EFBFBD> <33> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֱ<EFBFBD> Ϊ0<CEAA> <30> 0~portMAX_DELAY<41> <59> portMAX_DELAY<41> <59> <EFBFBD> ֣<EFBFBD> <D6A3> ֱ<EFBFBD> <D6B1> <EFBFBD> Ӧ
* һ <> 㲻<EFBFBD> ȡ<EFBFBD> <C8A1> <EFBFBD> һ <EFBFBD> <D2BB> ʱ<EFBFBD> <CAB1> <EFBFBD> ͵<EFBFBD> <CDB5> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> 䡣<EFBFBD> ڵȴ<DAB5> <C8B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݵ<EFBFBD> <DDB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> £<EFBFBD> <C2A3> ý<EFBFBD> <C3BD> ն<EFBFBD> <D5B6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڵ<EFBFBD> <DAB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ ֱ<D2BB> <D6B1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̬<EFBFBD> <CCAC>
*/
xQueueTempRetval = xQueueReceive ( xQueueTempHdlr , ucRecTempBuffer , 0 ) ;
xQueueHumiRetval = xQueueReceive ( xQueueHumiHdlr , ucRecHumiBuffer , 0 ) ;
xQueueTempRetval = xQueueReceive ( xQueueTempHdlr , & ucRecTempData , pdMS_TO_TICKS ( 10 ) ) ;
xQueueHumiRetval = xQueueReceive ( xQueueHumiHdlr , & ucRecHumiData , pdMS_TO_TICKS ( 10 ) ) ;
/* <20> <> <EFBFBD> <EFBFBD> */
vLoRaConnectionPkt ( ) ;
vLoRaConnectionPkt ( xLoRaGateConfig . ucLoRaGateChannel ) ;
vLoRaToGateIdPkt ( xLoRaNode1Config . ucLoRaNode1Identifier ) ;
vLoRaToGateSenIdPkt ( xLoRaSensorID . ucIdDht11 ) ;
/* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ն<EFBFBD> <D5B6> <EFBFBD> <EFBFBD> Ƿ<EFBFBD> <C7B7> ɹ<EFBFBD> */
if ( xQueueTempRetval = = pdTRUE & & xQueueHumiRetval = = pdTRUE )
{
/* code */
vUsart3SendArray ( & ucRecTempBuffer [ 1 ] , 1 ) ;
vUsart3SendArray ( & ucRecHumiBuffer [ 1 ] , 1 ) ;
vUsart3SendArray ( & ucRecTempData , 1 ) ;
vUsart3SendArray ( & ucRecHumiData , 1 ) ;
}
vTaskDelay ( 15 00 ) ;
vTaskDelay ( 10 00 ) ;
}
}
void vTasksList ( void )
{
/* <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ٽ<EFBFBD> <D9BD> <EFBFBD> */
taskENTER_CRITICAL( ) ;
// taskENTER_CRITICAL();
/* <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 ) vStateLedTask ,
@@ -140,27 +136,26 @@ void vTasksList(void)
xTaskCreate (
( TaskFunction_t ) vDht11Task ,
( char * ) " TaskName_DHT11 " ,
( configSTACK_DEPTH_TYPE ) 1024 ,
( configSTACK_DEPTH_TYPE ) 512 ,
( void * ) NULL ,
( UBaseType_t ) 2 ,
( TaskHandle_t * ) & xDht11TaskHdlr ) ;
xTaskCreate (
( TaskFunction_t ) vLoRaToGatePktTask ,
( char * ) " TaskName_LoRaSendToGateway " ,
( configSTACK_DEPTH_TYPE ) 1024 ,
( configSTACK_DEPTH_TYPE ) 512 ,
( void * ) NULL ,
( UBaseType_t ) 2 ,
( TaskHandle_t * ) & xLoRaToGateTskHdlr ) ;
xTaskCreate (
( TaskFunction_t ) vLoRaRecMsgTask ,
( char * ) " TaskName_LoRaReceivedMessage " ,
( configSTACK_DEPTH_TYPE ) 1024 ,
( configSTACK_DEPTH_TYPE ) 512 ,
( void * ) NULL ,
( UBaseType_t ) 2 ,
( TaskHandle_t * ) & xLoRaRecMsgTskHdlr ) ;
/* <20> ˳<EFBFBD> <CBB3> ٽ<EFBFBD> <D9BD> <EFBFBD> */
taskEXIT_CRITICAL( ) ;
// taskEXIT_CRITICAL();
}
void vMainQueuesList ( void )
@@ -170,10 +165,10 @@ void vMainQueuesList(void)
* ԭ<> <D4AD> <EFBFBD> <EFBFBD> <EFBFBD> ķ<EFBFBD> <C4B7> <EFBFBD> ֵ<EFBFBD> <D6B5> <EFBFBD> Ƕ<EFBFBD> <C7B6> о <EFBFBD> <D0BE> <EFBFBD> <EFBFBD> Ľṹ<C4BD> 壬<EFBFBD> <E5A3AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> <D2AA> <EFBFBD> <EFBFBD> <EFBFBD> 涨<EFBFBD> <E6B6A8> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ն<EFBFBD> <D5B6> о <EFBFBD> <D0BE> <EFBFBD> <EFBFBD> <EFBFBD> */
xQueueTempHdlr = xQueueCreate (
( UBaseType_t ) 5 ,
( UBaseType_t ) sizeof ( uint8_t * ) ) ;
( UBaseType_t ) sizeof ( uint8_t ) ) ;
xQueueHumiHdlr = xQueueCreate (
( UBaseType_t ) 5 ,
( UBaseType_t ) sizeof ( uint8_t * ) ) ;
( UBaseType_t ) sizeof ( uint8_t ) ) ;
xQueueUsart3ReHdlr = xQueueCreate (
( UBaseType_t ) 128 ,
( UBaseType_t ) sizeof ( uint8_t * ) ) ;