USART

USART1 引脚 pa9 ,pa10

c 复制代码
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
uint16_t USART_ReceiveData(USART_TypeDef* USARTx);

FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);
void USART_ClearFlag(USART_TypeDef* USARTx, uint16_t USART_FLAG);
ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT);
void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT);

micro lib : 精简版c语言

串口printf需要勾选 use microlib,,,对printf重定向,,,

printf默认是输出到屏幕,单片机没有屏幕,需要重定向

USART_GetFlagStatus() : 检查状态标志位

  • USART_FLAG_TXE : transmit empty
  • RXNE : receive data register not empty

检查的是 USART_SR寄存器

USART_GetITStatus() : 中断是否发生

RXNE标志位 是否为1

并且

RXNE中断使能位 是否为1

RXNE -> 状态寄存器SR里的标志位

RXNEIE -> 控制寄存器CR1里的中断使能位

中断存在,,后面的数据会溢出,可能会丢失,,没有取的数据会一直在,,,

中断标志位存在,中断会一直触发,,cpu会一直退出中断,进入中断,,反复,,所以中断获取到数据之后,必须要清除


boot引脚决定了stm32上电之后,从哪里启动代码,,,串口下载是靠芯片内部的一个系统引导程序 bootLoader完成的,,,

stm32上电会先看boot引脚,,决定启动区域

串口下载不是你写的程序在工作,,而是芯片自带的BootLoader在工作

CH340上面有 DTR ,, RTS 这两个引脚可以用来当普通引脚,,当USART下载程序的时候,, 这两个引脚一个控制 boot0的引脚电平,,一个控制 NRST :低电平复位的引脚 ,, , 就能实现代码自动下载,,不用反复的切换boot0

选项字节,,读保护

名词:

  • rcc : reset and clock control : 复位与时钟控制器
  • apb : advanced peripheral bus :高级外设总线
  • ahb: advanced high bus : 高级高性能总线
  • pclk : peripheral clock : 外设时钟
  • peripheral : 次要的,附带的
  • usart : universal synchronous asynchronous receiver transmitter
  • gpio: general purpose input output
    purpose: 目的
    parity: 平等
    baudrate : 波特率
  • cts : clear to send : 允许发送,,我允许你发了,,,接收端的rts信号传给发送端,,就是cts,,作为发送许可
  • rts :request to send : 请求发送,,我准备好了,你可以发数据给我
  • nvic: nested vectored interrupt controller : 嵌套向量中断控制器
    preemption : 优先购买,强制收购
  • nrst : negative reset : 低电平复位
相关推荐
DevHub6 分钟前
STM32 USB HID 教程:TinyUSB 实现键盘设备,从描述符到枚举
arm开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
zlinear数据采集卡1 小时前
数据采集卡从入门到精通(46):趋势展望——软件定义硬件、AI分析与开源生态
arm开发·stm32·单片机·嵌入式硬件·fpga开发·开源
米饭不加菜2 小时前
51单片机入门LED篇
stm32·单片机·51单片机
单片机仿真设计18 小时前
【proteus仿真】基于 STM32 的智能垃圾桶设计(仿真图+程序)
c语言·stm32·stm32单片机·proteus·毕设·仿真
智闲电子设计19 小时前
STM32 SD 卡 + FatFS 实战:掉电丢数据?f_sync 和簇对齐写救你
stm32·单片机·嵌入式硬件
ヾChen21 小时前
ESP32 OTA 踩坑实录
stm32·单片机·嵌入式硬件·物联网·学习
雨田言炎1 天前
STM32专题之内部FLASH详解
笔记·stm32·单片机
LCG元1 天前
STM32 DAC+DMA+定时器触发生成任意波形:数据对齐陷阱、输出缓冲器选型与频率精度实测
stm32·单片机·嵌入式硬件
小柯博客1 天前
01 · 点亮 STM32MP25 的硬件视频编解码:VPU 与那些“安静“的坑
c语言·笔记·stm32·单片机·嵌入式硬件·嵌入式·视频编解码
zcmodeltech2 天前
钢铁冶金沙盘模型控制系统设计与实现:高炉-连铸-热轧多工序联动方案
分布式·stm32·单片机·嵌入式硬件·交互