久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: stm32 freeRTOS多串口通信 接收不定長數據 [打印本頁]

作者: sankare    時間: 2022-2-26 18:49
標題: stm32 freeRTOS多串口通信 接收不定長數據
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{
  /* Prevent unused argument(s) compilation warning */
  UNUSED(huart);
  /* NOTE: This function should not be modified, when the callback is needed,
   
           the HAL_UART_TxHalfCpltCallback could be implemented in the user file
   */
    if(huart->Instance==USART1){
        HAL_UART_Receive_DMA(&huart1,(uint8_t *)&aRxBuffer1,1);
    }
    if(huart->Instance==USART3){
        HAL_UART_Receive_DMA(&huart3,(uint8_t *)&aRxBuffer3,1);
    }
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    char buf[255],enter[32];
    int i=1,temp=0;
    uint8_t data[30]={"\n I have received:OK"};
    char *map;
    char key[25];
    char value[4];
    int year,mon,day,hour,min,sec;
    char *ssid;
    char *passwd;
    UNUSED(huart);
    if(huart->Instance==USART1){
        Uart1_RxBuffer[Uart1_Rx_Cnt++]=aRxBuffer1;
        if((Uart1_RxBuffer[Uart1_Rx_Cnt-1]==0x0A)&&(Uart1_RxBuffer[Uart1_Rx_Cnt-2]==0x0D))
        {
            HAL_UART_Transmit_DMA(&huart1,(uint8_t *)Uart1_RxBuffer, strlen(Uart1_RxBuffer));

            if(strstr(Uart1_RxBuffer,"passwd")!=NULL)
            {
                        strtok(Uart1_RxBuffer,":");
                        ssid=strtok(NULL,"_");
                        strtok(NULL,":");
                        passwd=strtok(NULL,"_");

                        strcat(AT_CWJAP,ssid);      
                        strcat(AT_CWJAP,"\",\"");
                        strcat(AT_CWJAP,passwd);
                        strcat(AT_CWJAP,"\"\r\n");



                         my_printf("%s",AT_CWJAP);
                        strcpy(AT_CWJAP,"AT+CWJAP=\"");



                    }

            Uart1_Rx_Cnt=0;
//                  strcpy(Uart1_RxBuffer,"");
        }
        HAL_UART_Receive_DMA(&huart1,(uint8_t *)&aRxBuffer1,1);

    }


    if(huart->Instance==USART3){
        Uart3_RxBuffer[Uart3_Rx_Cnt++]=aRxBuffer3;

    if((Uart3_RxBuffer[Uart3_Rx_Cnt-1]==0x0A)&&(Uart3_RxBuffer[Uart3_Rx_Cnt-2]==0x0D))
    {   
          osMailPut(myQueue06Handle,Uart3_RxBuffer);
            //HAL_UART_Transmit_DMA(huart, data, strlen((char*)data));
            if(strstr(Uart3_RxBuffer, "led") != NULL)//在a中查找b,如果存在,
            {
                     osMessagePut(wifi_flagHandle,1,osWaitForever);

            }
            else
            {
                osMessagePut(wifi_flagHandle,0,osWaitForever);
            }
            if(strstr(Uart3_RxBuffer, "led_breath") != NULL)//在a中查找b,如果存在,
            {
                     led=1;

            }
                    if(strstr(Uart3_RxBuffer, "led_off") != NULL)//在a中查找b,如果存在,
            {
                     led=0;

            }
                    if(strstr(Uart3_RxBuffer, "led_on") != NULL)//在a中查找b,如果存在,
            {
                     led=2;

            }
            if(strstr(Uart3_RxBuffer, "date") != NULL)//在a中查找b,如果存在,
            {


                    strtok(Uart3_RxBuffer,"_");
                    year=atoi(strtok(NULL,"-"));

                    mon=atoi(strtok(NULL,"-"));

                    day=atoi(strtok(NULL,"_"));

                    hour=atoi(strtok(NULL,":"));

                    min=atoi(strtok(NULL,":"));

                    sec=atoi(strtok(NULL,":"));
                  strtok(NULL,"_");
                    ds1302_wirte_rig(0x8e,0x00);//關閉寫保護
                    ds1302_wirte_rig(0x80,dtoh(sec));//seconds10秒
                    ds1302_wirte_rig(0x82,dtoh(min));//minutes10分
                    ds1302_wirte_rig(0x84,dtoh(hour));//hours10時
                    ds1302_wirte_rig(0x86,dtoh(day));//date12日
                    ds1302_wirte_rig(0x88,dtoh(mon));//months5月
//                  ds1302_wirte_rig(0x8a,dtoh(week));//days星期三
                    ds1302_wirte_rig(0x8c,dtoh(year));//year2021年
                    ds1302_wirte_rig(0x8e,0x80);//關閉寫保護
//              HAL_UART_Transmit_DMA(huart, (uint8_t*)value, strlen((char*)value));
            }

            if(strstr(Uart3_RxBuffer, "valid") != NULL)//在a中查找b,如果存在,
            {

                HAL_UART_Transmit_DMA(&huart3, AT_CIPSTART, strlen((char*) AT_CIPSTART));

            }
        Uart3_Rx_Cnt=0;

//      memset(Uart3_RxBuffer,0,sizeof(Uart3_RxBuffer));


    }
    HAL_UART_Receive_DMA(&huart3,(uint8_t *)&aRxBuffer3,1);
}


}





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一区二区三区国产精品 | 黄色网页在线 | 操出白浆视频 | 久久精品国产一区 | 免费视频一区二区 | 在线观看黄色小视频 | 欧美激情国产精品 | 午夜 | 一区二区三区国产视频 | 国产精品tv | 国产伦精品一区二区三毛 | 国产伦精品一区二区三区免费视频 | 天天干天天操天天插 | 亚洲伦理在线观看 | 午夜看看 | 国产伦精品一区二区三区视频黑人 | 青青综合 | 国产欧美在线观看 | 欧美一级在线 | 日韩精品少妇 | 久久国产一区 | 国产精品日韩在线 | 黄色片在线免费观看 | 日韩香蕉视频 | av自拍偷拍 | 久久视频免费观看 | 九九爱视频| 日本在线视频观看 | www.久久久久久 | 在线播放黄色 | 97久久久久 | 国产毛片毛片毛片 | 成人欧美一区二区三区黑人孕妇 | 一区二区三区免费在线观看 | 欧美另类综合 | 色综合久久久久 | 国模一区二区 | 成人在线播放视频 | 亚洲高清免费 | 91成人精品 | 国产视频黄色 |