发新帖我要提问
123
返回列表
打印
[STM32F4]

UART串口通信详解

[复制链接]
楼主: 突然下起雨
手机看帖
扫描二维码
随时随地手机跟帖
41
突然下起雨|  楼主 | 2022-11-17 13:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
在main.c下方添加中断回调函数

/* USER CODE BEGIN 4 */

void HAL_UART_RxCpltCallback(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_TxCpltCallback could be implemented in the user file
   */

        if(Uart1_Rx_Cnt >= 255)  //溢出判断
        {
                Uart1_Rx_Cnt = 0;
                memset(RxBuffer,0x00,sizeof(RxBuffer));
                HAL_UART_Transmit(&huart1, (uint8_t *)"数据溢出", 10,0xFFFF);        
        
        }
        else
        {
                RxBuffer[Uart1_Rx_Cnt++] = aRxBuffer;   //接收数据转存
       
                if((RxBuffer[Uart1_Rx_Cnt-1] == 0x0A)&&(RxBuffer[Uart1_Rx_Cnt-2] == 0x0D)) //判断结束位
                {
                        HAL_UART_Transmit(&huart1, (uint8_t *)&RxBuffer, Uart1_Rx_Cnt,0xFFFF); //将收到的信息发送出去
            while(HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX);//检测UART发送结束
                        Uart1_Rx_Cnt = 0;
                        memset(RxBuffer,0x00,sizeof(RxBuffer)); //清空数组
                }
        }
       
        HAL_UART_Receive_IT(&huart1, (uint8_t *)&aRxBuffer, 1);   //再开启接收中断
}
/* USER CODE END 4 */

使用特权

评论回复
42
突然下起雨|  楼主 | 2022-11-17 13:44 | 只看该作者
本帖最后由 突然下起雨 于 2022-11-17 13:54 编辑

发送数据被正常返回

使用特权

评论回复
43
OKAKAKO| | 2024-6-25 15:53 | 只看该作者
配置、程序ST的生态非常完善

使用特权

评论回复
44
Bblythe| | 2024-12-1 07:07 | 只看该作者

超出 120 个字节则必须用 idata 显式的指定为间接寻址

使用特权

评论回复
45
周半梅| | 2024-12-1 09:03 | 只看该作者

靠近功率开关管或整流器的电容分到的纹波电流远多于相距较远的电容分到的纹波电流

使用特权

评论回复
46
Pulitzer| | 2024-12-1 10:06 | 只看该作者

small 模式下未指存储类型的变量默认为data型

使用特权

评论回复
47
童雨竹| | 2024-12-1 12:02 | 只看该作者

离线式变换器

使用特权

评论回复
48
Wordsworth| | 2024-12-1 13:05 | 只看该作者

一般要进行内存优化,尽量提高内存的使用效率

使用特权

评论回复
49
Clyde011| | 2024-12-1 14:08 | 只看该作者

让尽可能多的变量使用直接寻址,提高速度

使用特权

评论回复
50
公羊子丹| | 2024-12-1 15:01 | 只看该作者

经变压器映射成这么多节点

使用特权

评论回复
51
万图| | 2024-12-1 16:04 | 只看该作者

访问时采用不同的指令,所以并不会占用 RAM 空间

使用特权

评论回复
52
Uriah| | 2024-12-1 17:07 | 只看该作者

极限情况下可以定义的变量可占 247 个字节

使用特权

评论回复
53
帛灿灿| | 2024-12-1 19:03 | 只看该作者

51 单片机不使用线性编址

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则