请问下  为什么要 用void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)这个函数呢?不用不行吗?

static void MX_USART1_UART_Init(void)

{

huart1.Instance = USART1;

huart1.Init.BaudRate = 9600;

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_NO_INIT;

if (HAL_UART_Init(&huart1) != HAL_OK)

{

_Error_Handler(__FILE__, __LINE__);

}

HAL_UART_IRQHandler(&huart1);

//HAL_UART_Receive_IT(&huart1,(uint8_t *)aRxBuffer,RXBUFFERSIZE);

UART_Receive_IT(&huart1);

}

//void USART1_IRQHandler(void)

//{

//        u8 Res;

//

//        if((__HAL_UART_GET_FLAG(&huart1,UART_FLAG_RXNE)!=RESET))  //接收中断(接收到的数据必须是0x0d 0x0a结尾)

//        {

//        HAL_UART_Receive(&huart1,&Res,1,1000);

//                if((USART_RX_STA&0x8000)==0)//接收未完成

//                {

//                        if(USART_RX_STA&0x4000)//接收到了0x0d

//                        {

//                                if(Res!=0x0a)USART_RX_STA=0;//接收错误,重新开始

//                                else USART_RX_STA|=0x8000;        //接收完成了

//                        }

//                        else //还没收到0X0D

//                        {

//                                if(Res==0x0d)USART_RX_STA|=0x4000;

//                                else

//                                {

//                                        USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;

//                                        USART_RX_STA++;

//                                        if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//接收数据错误,重新开始接收

//                                }

//                        }

//                }

//        }

//

//}我这样写就是不行呢?进不去中断里面 是我没有使能接收中断啊?还是写的对不呢

php 串口通信例程,HAL库串口通信例程相关推荐

  1. STM32 HAL库 串口DMA(收发)和STM32串口中断接收(接收时间管理机制)+ESP8266 wifi模组通信问题

    一.HAL库 串口 DMA+ESP8266模组通信问题 用STM32 HAL库串口的DMA发送和空闲中断接收处理数据,单片机发送AT指令给ESP8266 wifi模组问题:单片机连续几次给wifi模组 ...

  2. 【嵌入式系统基础实验一】-----led流水灯及串口通信的HAL库方式和寄存器编程方式实现,输出波形检测

    文章目录 1.实验知识点简要解析 1.1串口通信协议 1.2 RS232.485电平与TTL电平的区别 1.3 USB/TTL转232"模块 2.LED流水灯的寄存器地址 和HAL库这两种方 ...

  3. STM32 HAL库串口同时收发,接收卡死?

    STM32 使用 HAL库串口同时收发,使用踩坑史 = =!......by 矜辰所致 目录 前言 一. HAL 库串口收发 1.1 串口发送 1.2 串口接收 1.2.1 标准库接收 1.2.1 H ...

  4. STM32 HAL库 串口DMA接收不定长数据

    STM32 HAL库 串口DMA接收不定长数据 整体思路:我是用的CUBEMX软件生成的工程,使能了两个串口,串口2用来接收不定长的数据,串口1用来发送串口2接收到的数据:串口2我找了一个UBLOX卫 ...

  5. STM32 HAL库串口收发数据

    STM32 HAL库串口收发数据 许多传感器的使用方法是:单片机给传感器发送一帧数据,然后传感器返回单片机一帧有用数据,所以串口的收发功能十分重要. STM32cubeMX的配置 时钟和下载方式就不讲 ...

  6. HAL库串口中断RX中的Overrun Error问题

    HAL库串口中断RX中的Overrun Error解决方案 1. ORE触发条件 首先简单研究一下什么时候会出现overrun的问题,配置正常的HAL串口中断接收如下 void HAL_UART_Rx ...

  7. 【STM32】HAL库——串口DMA通信(三)

    前期准备: STM32CubeMX STM32RCT6核心板 IDE Keil(MDK-ARM) 关于DMA 1. 什么是DMA? DMA(Direct Memory Access,直接存储器访问) ...

  8. STM32串口中断接收HAL库超详解析

    之前一直用的固件库跑c8t6和zet6,现在有幸接触到stm32H743用到HAL库,学习嘛都是踩坑,csdn,然后...理解底层库的代码 本人有幸遇到了H7的串口中断接收只进去一次的Bug,于是马上 ...

  9. STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收

    参考资料:1.ST HAL库官网资料 2.https://blog.csdn.net/u014470361/article/details/79206352#comments 一.STM32CubeM ...

最新文章

  1. 准爸爸日记——20120502海淀妇幼建档续
  2. Boost:清理cleanup测试程序
  3. JAVA_SE基础——24.面向对象的内存分析
  4. 大学生开题报告php,php毕业设计开题报告
  5. JDK各版本新增的主要特性
  6. Selenium2+python自动化5-操作浏览器基本方法
  7. mmap从低向高增长的legacy模式和从高向低增长的modern模式
  8. 方法的形式参数是类名的时候如何调用
  9. C++之---class 的三种访问修饰符( public、private、protected )
  10. Boost Thread 编程指南、Boost线程入门教程
  11. 阻止原生输入中文拼音途中会触发input方法的问题
  12. WPS 设置多级标题
  13. 微信小程序如何快速累计独立访客(UV)不低于 1000
  14. 论文翻译《Computer Vision for Autonomous Vehicles Problems, Datasets and State-of-the-Art》(第六章)
  15. 智慧农业的未来——科聪整体解决方案助力农业生产自动化
  16. 对Request.parameter中参数进行添加或修改
  17. aws eks_在带aws eks的kubernetes上部署带舵的破折号
  18. 服饰搭配:色彩与材质
  19. 如果有天,全世界的人都变成程序员......
  20. 虚拟机ubuntu系统鼠标移动消失

热门文章

  1. sizeof是c语言的一种运算符,深入sizeof的使用详解
  2. 企业微信小程序_授权登录接口获取用户userid
  3. vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法
  4. Docker镜像备份与迁移
  5. 栈的链式存储结构(C语言实现)
  6. java 读取控制台_Java从控制台读入数据的几种方法总结
  7. git查看之前的提交日志
  8. BugkuCTF-MISC题细心的大象
  9. 接口有个电池标志_有人说手机快充毁电池,真的假的?电池快充的原理是什么?...
  10. PyQt5 让窗口在桌面居中的办法