STM32
Cynantrs
这个作者很懒,什么都没留下…
展开
-
VSCode与Keil联合开发STM32
目录1.为什么要联合开发2.配置VSCode的环境1.安装c/c++2.安装Embedded IDE3.设置编译工具4.导入 STM32 工程5.配置编译器选项6.烧录工具选择1.为什么要联合开发Keil容易出现中文乱码,虽然尝试过通用的修改字符串格式,但是没有什么卵用,而VSCode可以解决乱码问题,如下图(第一张是Keil,第二张是VSCode)更喜欢VSCode的UI设计,由上图可见VSCode可以进行局部编译,全局编译,烧录,但是无法进行调试,所以调试部分得在 Keil 上进原创 2022-03-02 18:33:19 · 7323 阅读 · 4 评论 -
ADC模数转化器
目录简介采样量化和编码参数1、转换精度:2、转换速度:STM32F407上的ADC简介ADC:数模转换器,即将模拟量转化为数字量要想实现ADC,需要进行三个重要的步骤:采样 、 量化、 编码。采样《数字电子技术基础》第五版的第525页有说明采样定理量化和编码参数1、转换精度:用的单片机是STM32F407系列,可配置的ADC转换精度为12位、10位、8位、6位。这里我们假设为12位,则可以将电压划分为 4096份(2^12 = 4096) ;由于VDD为 3.3V(3300mV原创 2021-10-27 00:20:34 · 514 阅读 · 0 评论 -
从底层看SPI发送数据的过程
将要发送的数据发送到 SPI_DR 寄存器中当把数据放到该寄存器中时,数据就被放到 发送缓冲区 中,之后便会被串行地发送到 MOSI,也就把数据串行地发送给了从机原创 2021-09-01 21:17:49 · 1630 阅读 · 0 评论 -
修改栈空间的大小
当程序中的局部变量太多时,可能会造成栈空间不够用导致程序出错,这个时候就需要修改栈空间的大小默认的栈空间大小是 0x400 ,也就是 1024 Bytes( 1M原创 2021-08-24 09:53:44 · 2078 阅读 · 0 评论 -
STM32串口输出字符串
目录串口步骤1、确定 IO 口并初始化2、初始化 UATR3、UART 中断配置4、编写 UART 中断服务函数5、重定向printf()效果附源码串口串口全称为串行接口,采用 全双工、异步通信的通信方式,一次只能传输一帧,一帧中包含 起始位、数据位(一般为 8bit )、校验位、停止位。由于采用异步通信,所以通信双方(这里是 上位机 与 STM32)必须提前说明好 字符格式(一帧中的字符格式) 和 通信速率(波特率)步骤1、确定 IO 口并初始化数据进入 USB 端口之后会进入 CH340原创 2021-08-21 16:02:50 · 12631 阅读 · 0 评论 -
第2节、PWM控制舵机
目录功能实现过程将 PD14 复用为 TIM4的通道3,并设置 PD14 的功能设置 HSE 来源设置 TIM4打开 TIM4 的 PWM主程序附功能实现舵机45度、90度、135度、180度旋转实现过程将 PD14 复用为 TIM4的通道3,并设置 PD14 的功能设置 HSE 来源设置 TIM4打开 TIM4 的 PWM主程序附舵机的型号是 SG90 9G 180度...原创 2021-08-19 19:36:29 · 407 阅读 · 0 评论 -
第1节、基本定时器
目录功能配置过程设置 PF9、PF10 为引脚输出配置 TIM6 和 TIM7配置 NVIC选择时钟源配置时钟树启动定时器中断初始化回调函数功能用基本定时器6 控制 LED0 每 500ms 亮一次,每 500ms 灭一次,用基本定时器7 控制 LED1 每250ms 亮一次, 每1s 灭一次。配置过程设置 PF9、PF10 为引脚输出配置 TIM6 和 TIM7配置 NVIC选择时钟源配置时钟树根据芯片的实际情况配置时钟树,我的芯片是 STM32F407ZET6,外部晶振频原创 2021-08-18 20:52:55 · 128 阅读 · 0 评论