你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
xp3

xp3

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
15 回答

stm32fo falsh模拟eeprom存储数据

STM32F0
lisd70 lisd70 回答时间: 2020-2-5 00:58

学习了,好东西

赞0
11 回答

stm32fo72用IDLE接收不定长数据

未设置标签
埃斯提爱慕 埃斯提爱慕 回答时间: 2018-3-15 15:56

给你一个参考,一个空闲中断,一个事件型任务 /* USART6 串口空闲中断函数 */ void HeaterComm_Callback(void) {   uint32_t TmpFlag = 0;   uint32_t TmpLength;      TmpFlag = __HAL_UART_GET_FLAG(&huart6, UART_FLAG_IDLE);         if((TmpFlag != RESET))   {     __HAL_UART_CLEAR_IDLEFLAG(&huart6);       //HAL_UART_AbortReceive_IT(&huart6);                                  HAL_UART_DMAStop(&huart6);           TmpLength = __HAL_DMA_GET_COUNTER((DMA_HandleTypeDef *)&hdma_usart6_rx);              //TmpLength = hdma_usart6_rx.Instance->NDTR;     HeaterComm.DataLength = 32 - TmpLength;     osSignalSet (HeaterComm_TaskHandle, 1);                     //HeaterComm.ReceiveFlag = 1;   } } /* HeaterCommTask function */ void HeaterCommTask(void const * argument) {   /* USER CODE BEGIN HeaterCommTask */   osEvent Event;      HeaterComm.CommStatus = 1;   HeadData.Sensor.TcTemp[0].Status = Normal;   HeadData.Sensor.TcTemp[1].Status = Normal;   HeadData.Sensor.TcTemp[2].Status = Normal;   HeadData.Sensor.TcTemp[0].Value = 25;   HeadData.Sensor.TcTemp[1].Value = 25;   HeadData.Sensor.TcTemp[2].Value = 25;      __HAL_UART_ENABLE_IT(&huart6, UART_IT_IDLE);   HAL_UART_Receive_DMA(&huart6, Rs422RxData.Char, 32);   /* Infinite loop */   for(;;)   {     Event = osSignalWait(1, 2000);     if(Event.status == osEventSignal)     {//接收到一帧数据       osMutexWait (MutexGetTempHandle, 3);       if((Rs422RxData.Sensor.Head == 0x4c)          && (crc16(Rs422RxData.Char, HeaterComm.DataLength - 2) == Rs422RxData.Sensor.Crc))       {         HeadData.Sensor.NtcTemp = Rs422RxData.Sensor.NtcTemp;         for(uint8_t i=0; i<3; i++)         {           HeadData.Sensor.TcTemp.Data  = Rs422RxData.Sensor.TcTemp.Data; //          HeadData.Sensor.TcTemp.Value   = Rs422RxData.Sensor.TcTemp.Value;         }         HeaterComm.CommStatus = 1;       }       else       {         TestData++;         //        HeaterComm.DataLength = 0;       }       HeaterComm.DataLength = 0;       osMutexRelease (MutexGetTempHandle);       HAL_UART_Receive_DMA(&huart6, Rs422RxData.Char, 32);     }     else     {//接收超时       HeaterComm.CommStatus = 0;     }     xEventGroupSetBits(xCreatedEventGroup, EVENT_BIT_HEATER_COMM_TASK);     osThreadYield();   }   /* USER CODE END HeaterCommTask */ }

赞0
xp3 xp3


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16