STM32学习笔记
一角残叶
人生如逆旅,我亦是行人
展开
-
STM32 USB 库介绍
1 STM32 USB 库2 STM32_USB-FS_Device_Driver-Low Layer2.1 usb_regs实现了硬件抽象层,提供了 usb 寄存器操作函数集合2.2 usb_int处理正确传输的中断服务程序。低优先级中断,由 CTR_LP() 处理,用于控制模式、中断模式、批量模式(单缓冲区)高优先级中断,CTR_HP() 处理,用于快速传输模式,比如同步模式...原创 2020-01-03 18:54:57 · 1731 阅读 · 0 评论 -
STM32F103C8 虚拟串口移植实验(2)
1 修改 hw_config.h删除新增extern u8 USB_USART_RX_BUF[USB_USART_REC_LEN];extern u16 USB_USART_RX_STA;2 修改 usb_endp.c修改 EP1_IN_Callback函数void EP1_IN_Callback (void){ u16 USB_Tx_ptr; u16 US...原创 2019-10-19 23:13:02 · 768 阅读 · 1 评论 -
STM32F103C8 虚拟串口移植实验(1)
1 虚拟串口移植项目新建 USB 文件夹,将USB 驱动拷贝过来从官方案例的 src,inc拷贝以下文件2 配置新建分组添加头文件目录原创 2019-10-19 20:40:38 · 988 阅读 · 0 评论 -
STM32笔记 --SPI 同步串行通信
1 SPI 介绍SPI 是由Motorola 公司提出的一种同步串行外围接口;SPI 是一个全双工的同步串行接口,在数据传输过程中,总线上只能是一个主机和一个从机进行通信;1.1 接口MISO(Matser In Slave Out)MOSISCK : Serial Clock,串行时钟信号SS: Slave Select ,从机选择信号,低电平有效1.2 SPI 基本机构...原创 2018-11-06 15:19:06 · 2432 阅读 · 0 评论 -
STM32学习笔记—— DMA
1 STM32 DMA 特性7个独立的可配置的通道(请求)每个通道直接连接专用的硬件 DMA 请求,每个通道都同样支持软件触发,这些功能通过软件来配置;在 7 个请求间的优先权可以通过软件编程设置,在相等优先权时由硬件决定(请求 0 优先于 请求1)独立的源和目标传输宽度(字节、半字,全字),模拟打包和拆包的过程;支持循环的缓冲器管理;每个通道都有 3 个事件标志(DMA 半传输、D...原创 2018-11-06 20:21:08 · 561 阅读 · 0 评论 -
STM32 NVIC中断优先级
1 NVIC 介绍STM32 有2 个优先级:(1)抢占式优先级(主优先级),(2)响应优先级,每个中断源都需要指定这两种优先级。1.1 配置STM32 把 中断优先级寄存器变成 4位,分组如下:第 0 组:所有4位用于指定响应优先级;第 1 组:最高 1 位用于指定抢占式优先级,最低 3 位用于指定响应优先级;第 2 组:最高 2位用于指定抢占式优先级,最低 2 位用于指定响应优先...原创 2018-11-05 19:15:48 · 522 阅读 · 0 评论 -
STM32—— USB
1 USB 介绍Universal Serial Bus,通用串行总线1.1 USB 系统组成主机:提供USB接口和接口管理功能的硬件、软件、固件的复合体。PC机或者 OTG 设备。一个 USB 系统只能有一个主机。设备:(1)集线器 HUB:扩展主机接口,设备可以通过其接入主机;(2)功能设备物理连接:USB使用差分信号传输数据,全速或者高速模式的电缆必须外层屏蔽和铜漏线,且差分数据...原创 2018-11-12 18:38:49 · 2546 阅读 · 0 评论 -
STM32 基础介绍——官方库
1 关键文件介绍1.1 core_cm3.c 和 core_cm3.hCMSIS的核心文件,提供进入 Cortex-M3 内核接口,由 ARM 公司提供。1.2 system_stm32f10x.c,system_stm32f10x.hsytem_stm32f10x.c 设置系统和总线的时钟;里面有一个重要的函数 SystemInit() ,这个函数在系统启动的时候会调用,用来...原创 2019-05-08 14:53:28 · 1524 阅读 · 0 评论 -
STM32 USB官方库移植
1 工程添加的官方库然后编译,报错再次编译usb_lib.h 添加相关头文件#include "stm32f10x.h"#include "stm32f10x_conf.h"#include "stm32f10x_it.h"去掉官方库中检测USB是否插入,是由一个引脚控制,实际板子上,是用一个上拉电阻焊死的;再次编...原创 2019-05-20 17:11:50 · 4292 阅读 · 0 评论