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 : 低电平复位
相关推荐
zcmodeltech14 小时前
农业教学实训沙盘物联网控制系统设计:基于STM32与Modbus RTU的“感知-控制-实训”一体化方案
分布式·stm32·嵌入式硬件·物联网
zcmodeltech16 小时前
化工装置沙盘模型多设备协同控制系统设计:基于STM32与Modbus RTU的装置-流程-安全联动方案
大数据·stm32·嵌入式硬件·安全·unity·制造
光子物联单片机17 小时前
STM32传感器模块编程实践(二十一)DIY语音控制小车套件模型
c语言·stm32·单片机·嵌入式硬件·mcu
铅笔小新z18 小时前
【stm32】GPIO
stm32·嵌入式硬件·mongodb
振南的单片机世界19 小时前
高优先级“插队”,低优先级让路:中断嵌套的核心规则
arm开发·stm32·单片机·嵌入式硬件
jianqiang.xue1 天前
系统服务层设计:沉淀通用能力,让业务层只专注业务
stm32·单片机·嵌入式硬件·mcu·物联网·esp32
画面无声1 天前
STM32的SPI通信原理与练习记录
c语言·stm32·单片机·嵌入式硬件·学习
万亿少女的梦1681 天前
基于STM32、RFID与OneNET的开放性实验室电源节点设计
stm32·物联网·onenet·rfid·esp8266
殷忆枫1 天前
基于STM32+OV2640+ESP8266的无线图像采集系统设计与实现
stm32·单片机·嵌入式硬件
qq_283720052 天前
STM32F103 GPIO 端口配置寄存器 CRL / CRH 详解
stm32·单片机·嵌入式硬件