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

使用STM32F030K6 串口1无法接收

[复制链接]
yinshaojie 提问时间:2018-5-18 09:59 /
本帖最后由 yinshaojie 于 2018-5-18 10:01 编辑

/* USART1 init function */
static void MX_USART1_UART_Init(void)
{

  huart1.Instance = USART1;
  huart1.Init.BaudRate = 19200;
  huart1.Init.WordLength = UART_WORDLENGTH_8B;
  huart1.Init.StopBits = UART_STOPBITS_1;
  huart1.Init.Parity = UART_PARITY_NONE;
  huart1.Init.Mode = UART_MODE_TX_RX;
  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
  huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
  huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_RXOVERRUNDISABLE_INIT|UART_ADVFEATURE_DMADISABLEONERROR_INIT;
  huart1.AdvancedInit.OverrunDisable = UART_ADVFEATURE_OVERRUN_DISABLE;
  huart1.AdvancedInit.DMADisableonRxError = UART_ADVFEATURE_DMA_DISABLEONRXERROR;
  if (HAL_UART_Init(&huart1) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

}
使用CUBE配置的,无法实现数据发送,可以接收数据,查询if ((USART1->ISR & UART_FLAG_TC)== 0)数据一直不成立
<
收藏 评论4 发布时间:2018-5-18 09:59

举报

4个回答
andeyqi 回答时间:2018-5-18 11:19:48
本帖最后由 andeyqi 于 2018-5-18 11:24 编辑

是不是应该判断UART_FLAG_TC这位的逻辑判断的有问题,没有你的代码没法确定,正常逻辑应该等待是这位为1时(或者TXE为空时)发送数据。 TC.PNG

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

wenyangzeng 回答时间:2018-5-18 11:26:45
你应该不断执行:
HAL_UART_Receive(&huart1, (uint8_t *)RX_BUF,1);

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

安静ing 回答时间:2018-5-18 11:29:06
    /* While the UART in reception process, user can transmit data through
     "aTxBuffer" buffer */
  if(HAL_UART_Transmit_IT(&UartHandle, (uint8_t*)aTxMessage, 1)!= HAL_OK)
  {
        while(1) {};
  }
  /* Any data received will be stored "aRxBuffer" buffer : the number max of
     data received is 10 */
  if(HAL_UART_Receive_IT(&UartHandle, (uint8_t *)aRxBuffer, 1) != HAL_OK)
  {
        while(1) {};
  }

HAL_UART_Transmit直接就能发送了

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

yinshaojie 回答时间:2018-5-18 11:40:27
问题解决了,是管脚没有重映射

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2 原来如此,结贴奖励

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版