ICode9

精准搜索请尝试: 精确搜索
  • 串口の二三事2022-07-20 20:02:06

    串口の二三事 这两天去夏令营,又捣鼓了一下好久没搞过的单片机。在用串口的时候,感觉熟悉又陌生,故今天整理一下串口在开发中的一些常见疑问,以供日后查阅。 串口收发的原理 详情见通俗易懂的UART协议帧格式 - 知乎 (zhihu.com) UART帧格式,也称UART协议,每一位的时长与波特率有关: UAR

  • STM32串口2022-03-02 00:00:19

    1、通过STM32CubeMX配置串口。 串口1选择Asynchronous,异步通信。 115200bps,8N1,默认即可。 2、串口发送数据。 STM32Cube生成代码后,在main.c的while(1)前面加一句。 HAL_UART_Transmit(&huart1, "Hello world!\r\n", 14, 10); HAL_UART_Transmit()是串口发送函数, 第一个参数是串

  • STM32使用DMA接收不定长数据2022-01-25 23:03:21

    开启串口,是能串口全局中断 配置DMA并勾选Memory选项 继续配置工程并且生成代码 添加一些串口通讯使用的全局变量 volatile uint8_t rx1_len = 0; //接收数据长度 volatile uint8_t recv1_flag = 0; //接收完成标记位 uint8_t rx1_buffer[B

  • stm32F4/L4 UART学习汇总2022-01-20 14:30:47

    删除了一些不重要的东西,寄存器以及配置过程只需要了解,其他的还是快速上手为准 实用内容:模式一 不启动中断方式通讯 1、 HAL_UART_Receive(&huart1, dat, 3, 9000); //接收数据,一般因为有时间限制(例如9000),所以建议在循环中接收 2、 HAL_UART_Transmit(&huart1, dat, 3, 9000);

  • 串口空闲中断2021-12-26 21:30:01

    这篇博客主要记录了笔者学习串口空闲中断的过程、遇到的问题和解决的过程。目前仍有一点地方不是很清楚,也希望各位路过的巨佬能高抬贵手指点迷津 主要的目的是利用STM32的串口空闲中断实现将发送的数据完整回传到上位机,相关的教程站内已经比较多了,讲的也比较清楚,这里就不

  • CubeMX创建usart启动文件[嵌入式学习]2021-12-11 14:59:53

     所使用板子:野火指南者 配置系统时钟、调试方式之后,对connect下的usart1进行asynchronous(异步)激活,记得激活NVIC。记住此时GPIO初始化无法将USART1_RX的Pin10的普通输入模式改为复用输入。要在后续生成的.c文件中修改(usart的RX、TX是对GPIO相应Pin口的复用)。 打开keil后,先从别

  • stm32 USART2021-12-11 14:02:21

    stm32 USART 1 USART基础知识 三种模式:轮询模式、中断模式、DMA模式 轮询模式属于阻塞模式 中断模式和DMA模式属于非阻塞模式 发送数据 接收数据 1.1 Polling mode IO operation Send an amount of data in blocking mode using HAL_UART_Transmit() Receive an amount of data i

  • 2021-11-082021-11-08 19:59:27

    STM32中断和DMA通信实践记录 一、DMA的基本介绍二、通过cubemx实现DMA中断通信1、配置管脚2.配置usart3.DMA及其他配置4.相关用户代码配置。 一、DMA的基本介绍 DMA,全称Direct Memory Access,即直接存储器访问。 DMA传输将数据从一个地址空间复制到另一个地址空间,提供在

  • STM32串口DMA空闲中断2021-08-20 20:03:07

    开启空闲中断  1 __HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE);  清除空闲中断标志位  1 __HAL_UART_CLEAR_IDLEFLAG(&huart1); 2 HAL_UART_DMAStop(&huart1);  查看接收到的数据长度  1 RxNum = RxBufferSize - __HAL_DMA_GET_COUNTER(&hdma_usart1_rx); 

  • 基于STM32CubMX和HAL库的外设开发(五、串口通信)2021-07-10 16:34:13

    基于STM32CubMX和HAL库的外设开发 第五讲 串口通信 串口的重要性 串口作为单片机的重要外部接口,也是软件开发的重要调试手段。使用cubeMX大大简化了串口的配置,不需要懂寄存器的操作,只需要根据所需配置好串口的参数,eg.波特率,奇偶校验,数据位数,停止位数,采样率。 此讲我们介绍如

  • STM32HAL库移植FreeModbus协议2021-02-22 12:30:47

    需要源码的请关注我的公众号: Modbus是一个非常好用的通讯协议,经常用在串口通讯中,也可以用在网口。它既简洁又规范,尤其在工业中应用非常广泛。Modbus的程序实现也比较简单,用户可以自己实现,也可以移植开源的协议代码,比如今天要介绍的FreeModbus。   硬件环境:STM32F103C8T6 软件

  • STM32 HAL库之串口详细篇2021-01-14 02:32:27

    一、基础认识 (一) 并行通信 原理:数据的各个位同时传输 优点:速度快 缺点:占用引脚资源多,通常工作时有多条数据线进行数据传输 8bit数据传输典型连接图: 传输的数据是二进制:11101010,则通信使用8条线同时进行数据传输,发送端一次性发送8位数据,接收端一次性接收8位数据。 (二) 串行通信

  • STM32cubeMX+DMA+USART 接收任意长度的数据2020-06-03 23:53:25

    DMA接收选用circle模式,如果是normal模式的话,需要每次在中断里面接收完成后重新开启DMA接收,circle模式不用每次都开启dma接收中断。如图 ···c void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 115200; huart1.Init.WordLength = UART_WORD

  • STM32学习笔记——USART2020-05-17 23:57:33

    STM32的USART组件支持异步、同步、单线半双工、多处理器、IrDA、LIN、SmartCard等模式,本文介绍的是异步即UART模式。 总线通信有三种模型:轮询、中断和DMA。DMA对我来说是陌生的内容,以后单独开篇细讲。 HAL HAL把寄存器组组织成组件,组件包含外设的各个寄存器。在USART这里,寄存器不

  • STM32H7 串口 空闲中断 任意长接收 Hal库 IDLE2020-04-24 23:40:36

    今天主要记录一下STM32H7系列串口的使用,正点原子、野火等各大家都有教程,当然用起来也没有问题。 解决方法后边有红色大字提醒,直接看后边就可以,如果你没有时间想去了解HAL库的接收思想。 ST推的HAL库,在整个接收过程中,是没有用到串口的接收空闲中断,它的处理有三种,分别是轮询,接收

  • RT-Thread nano 3.1.3 添加控制台与 FinSH2020-01-15 11:40:49

    一、使用STM32CubeMX 5.5.0创建rt-thread nano工程 1.选择芯片,潘多拉开发板芯片为STM32L475VET6 2.设置PE7、PE8、PE9为推挽输出(用作验证) 3.添加RT-Thread nano 3.1.3 kernel 4.取消自动生成HardFault_Handler、PendSV_Handler、SysTick_Handler 代码 5.生成MDK工程文

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有