基础的就不讲了,直接上配置文件,led.c  led.h  usart.c  usart.h  stm32f10x_it.c   延时函数这些都自己写吧,网上搜索一大把,本次用到的蓝牙模块为 不知什么系列,具体见文末图,蓝牙的RXD连接单片机的TXD,蓝牙的TXD连接单片机的RXD,还有两个口,VCC和GND,接5V电源,还有配            
                
         
            
            
            
            STM32的串口是相当丰富的,功能也非常强劲。最多可提供5路串口(MiniSTM32使用的是STM32F103RBT6,具有3个串口),有分数波特率发生器、支持单线光通信和半双工单线通讯、支持LIN、智能卡协议和IrDASIR ENDEC规范(仅串口3支持)、具有DMA等。 串口最主要的设置。就是波            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-06-15 20:11:00
                            
                                835阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            状态寄存器USART_SR的复位值为0x00C0H:即 第七位发送寄存器空TXE=1和第六位发送完成TC=1寄存器为空, TC=1表明发送已完成.此时只要使能了发送空和发送完成中断就可进入中断ISR(所以如果手动发送或者开机状态为接收的要清除这TC标志(TXE不用因为不能通过写1清零))。因此建议的是在初始化时不好启用TXE中断,只在要发送数据(尤其是字符串、数组这样的系列数据)时才启用TXE。在            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-12-13 13:28:00
                            
                                364阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            串口程序:hal.h#ifndef HAL_H#define HAL_H//输出宏定义//清零#define LED1_OFF  GPIO_ResetBits(GPIOA, GPIO_Pin_8)//置一#define LED1_ON   GPIO_SetBits(GPIOA, GPIO_Pin_8)#define LED2_OFF  GPIO_ResetBits(G            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2013-07-10 16:20:52
                            
                                1761阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            串口接收: 一、一帧数据以\r\n结束 协议理解:    协议嘛,就是我们人为创造一条规则,按这条规则规规矩矩地来章程执行能够减少错误,效率更高,都执行一个规则也能大一统。下面我来说说STM32中的这个通讯协议:   一般情况下我们一次不会发送一大串太长的东东,所以我们先规定最大接收字节数,一般设为200,可以根据需要调整,大于这个数,我们就判断为            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-31 18:58:19
                            
                                1583阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、USART简介  通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。  STM32 的串口资源相当丰富的,功能也相当强劲。STM32F103ZET6 最多可提供 5 路串口,有分数波特率发生器,支持同步单向通信和半双工单线通信,支持LIN(局部互连网),智            
                
         
            
            
            
            /* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ***************            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-11 21:08:12
                            
                                590阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
               
   上淘宝买了两个红外线模块,一个是接收器,另一个是发送器。 
   
   问了卖家,没有资料,但是根据电路板上打印的信息,似乎是标准的模块。于是先插上树莓派试试看。 
   
     
   
     
        
   (update:上图的发射器没有三极管,所以只能做到1-2m) 
   
     
   
                
                
         
            
            
            
            这里记录一下用STM32Cumebx实现USB虚拟串口的过程,以F072为例大家可以一起学习讨论一下。 1.新建工程        这里选择SW烧录调试,看个人习惯,如果不习惯用SW的你们可以换其他的也行。      我这里因为直接使用MCU的内部时钟就没有勾选RCC了,然后直接配置时钟树,具体如下: USB            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-24 17:58:53
                            
                                600阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            单片机像一块死气沉沉的片子,想让单片机与上位机实现互联,最简单的通信方式就是学会调试串口。单片机和上位机通讯,比如收发文字、发送数据帧、发送指令等等功能,Stm32f407有六个串口(大家可以在官方的参考手册查询IO口),不同型号的板子可能会有不同的引脚,这个要参考开发板的原理图。通讯方式介绍让单片机和电脑的通讯方式有很多种,这里列举其中几个常用的:1.有线连接:CH340、USB转TTL、CAN            
                
         
            
            
            
            1,开启串口相关的时钟,GPIO,USART的时钟2,配置GPIO,注TX引脚AF的(OD和PP试过都没啥问题),RX浮空输入3,配置USART的结构体,NVIC的分组和结构体成员,4,选择串口通信的中断触发信号;usart_itconfig()确定中断源5,使能串口  CMD函数;注意;USART_GetFlagStatus函数可检测串口标志位,通过检测串口的标志位防止串口掉帧,确保数            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-22 15:11:37
                            
                                693阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            //////////////////////////////////////////////////////////////void RCC_Configuration(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RC_APB2Perip            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-16 11:02:19
                            
                                102阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录一、背景知识1. 处理器与外部通信的两种方式2.串行通信的三种传输方式3.串行通信的通信方式二、串口通信基础1.STM32的串口通信接口2.UART异步通信引脚连接方法3.UART异步通信方式特点4.串口异步通信需要定义的参数三、串口通信常用寄存器及相关库函数1.相关寄存器2.常用相关库函数3.波特率计算公式四、串口配置一般步骤1.串口时钟使能,GPIO时钟使能2.串口复位3.GPIO端            
                
         
            
            
            
            Stm32串口通信(UART) 串口通信的分类 串口通信三种传递方式 串口通信的通信方式 USART通信 USART异步通信方式特点 USART异步通信 串口通信示例程序 完整的官方示例代码 usart.h #ifndef __USART_H #define __USART_H #include "            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-03-30 10:40:00
                            
                                993阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            由于调试过程中发现Proteus 8有些许bug,串口中断采用STM32F103RCT6开发板进行讲解前期准备:STM32CubeMXSTM32F103RCT6开发板IDE Keil(MDK-ARM)STM32CubeMX部分 1. 配置时钟选择STM32F103RCTx系列芯片,配置时钟的同时会自动配置IO口引脚将HCLK设置为最大频率72MHz2.配置USART 选择:USART1串口1Bau            
                
         
            
            
            
            STM32升级功能分为2部分,一部分是bootloader程序,另一部分是用户应用程序组成(以STM32F103C8为例来说明 )bootloader工程分析启动文件的复位部分; Reset handler
Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
     IMPORT  __m            
                
         
            
            
            
            STM32串口控制收发模式总结前言公司的很多项目都是使用了串口通信,在我刚毕业来公司的时候,我的固件组同事都还是在使用轮询发送,串口中断接受的方式来进行串口收发,非常的低效。后面自己写项目程序,我开始查找一些串口收发的资料,实现了几种感觉比较好的控制方法,特此总结防止自己失忆。开发环境系统Ubuntu20.04lts;开发工具vscode + makefile + cortex-debug + o            
                
         
            
            
            
            原因一: 初始化串口的波特率与串口调试助手不一致。 原因二: 晶震不一致。 串口输出始终乱码,外部时钟频            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-11-02 11:06:11
                            
                                215阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # STM32串口虚拟化
STM32系列微控制器是一款广泛应用于嵌入式系统中的芯片,它具有强大的处理能力和丰富的外设接口。其中,串口是常用的外设之一,可以用于与外部设备进行通信。然而,当需要同时与多个外部设备进行通信时,串口的数量可能不够用。为了解决这个问题,可以使用串口虚拟化技术。
## 什么是串口虚拟化?
串口虚拟化是通过软件模拟多个虚拟串口,将其映射到实际的物理串口上,以实现同时与多个            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-09 10:17:30
                            
                                394阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1 下载协议  1.1 JTAG协议    JTAG全称 joint test action group,边界扫描系统协议;是调试芯片的通用标准协议;  1.2 SWD协议    SWD全称 serial wire debug,串行调试协议;也是调试芯片的通用标准协议;2 SWJ-DP  SWJ-DP全称 serial wire/JTAG - debug port,串行和边界扫描系统调试端口;为s            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-14 21:38:14
                            
                                543阅读
                            
                                                                             
                 
                
                                
                    