STM32F1与STM32CubeIDE快速入门USB虚拟串口CDC
STM32F1与STM32CubeIDE快速入门-USB虚拟串口(CDC)USB虚拟串口(CDC)文章目录
USB虚拟串口(CDC)
1、USB虚拟串口配置
2、USB虚拟串口驱动实现
3、运行结果
4、STM32F1与STM32CubeIDE系列文章
4.1 STM32F1与STM32CubeIDE快速入门
4.2 STM32F1与STM32CubeIDE编程实例
STM32F1 USB外设实现了USB2.0全速总线和APB1总线间的接口。USB 提供的串行接口,具有以下特点:
1)简单性和灵活性(即插即用);
2)双向性;
3)提高速度;
4)低成本。
STM32F103自带的USB符合USB2.0规范。但是STM32F1的USB只支持作为设备,不能作为主机。
本文将详细介绍如何使用STM32CubeIDE中如何配置USB虚拟串口。
1、USB虚拟串口配置STM32CubeIDE创建工程、系统配置、调试配置,在这里不再做介绍,请参考:
STM32F1与STM32CubeIDE快速入门-开发环境搭建
STM32F1与STM32CubeIDE快速入门 ...
STM32F1与STM32CubeIDE快速入门USBSDIOFatFs实现U盘
STM32F1与STM32CubeIDE快速入门-USB+SDIO+FatFs实现U盘USB+SDIO+FatFs实现U盘STM32F1 USB外设实现了USB2.0全速总线和APB1总线间的接口。USB 提供的串行接口,具有以下特点:1)简单性和灵活性(即插即用);2)双向性;3)提高速度;4)低成本。
STM32F103自带的USB符合USB2.0规范。但是STM32F1的USB只支持作为设备,不能作为主机。
本文将详细介绍如何使用STM32CubeIDE中如何配置通过USB的Mass Storage Class功能挂载SD卡。
1、SDIO配置STM32CubeIDE创建工程、系统配置、调试配置,在这里不再做介绍,请参考:
STM32F1与STM32CubeIDE快速入门-开发环境搭建
STM32F1与STM32CubeIDE快速入门-GPIO概述与点亮LED
STM32F1与STM32CubeIDE快速入门-USART/UART串口通信
SDIO的配置如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8aKuKHup-165 ...
STM32F1与STM32CubeIDE快速入门DWT精确延时
STM32F1与STM32CubeIDE快速入门-DWT精确延时DWT(Data Watchpoint and Trigger)精确延时文章目录
DWT(Data Watchpoint and Trigger)精确延时
1、DWT介绍
2、DWT配置
2.1 基本定义
2.2 DWT延时初始化
2.3 DWT延时实现
2.4 简单使用
3、STM32F1与STM32CubeIDE系列文章
3.1 STM32F1与STM32CubeIDE快速入门
3.2 STM32F1与STM32CubeIDE编程实例
1、DWT介绍在 Cortex-M3 中,有一个外设叫做 DWT(Data Watchpoint and Trigger),用于系统调试和跟踪,同时也具备延时功能。
DWT之所以能实现延时功能,是因为它有一个32位的计数器CYCCNT,它是一个向上计数的计数器。 溢出时会自动复位并重新开始向上计数。 它的频率是内核的主频率。 简单来说,如果内核时钟跳动,则CYCCNT计数器将增加 1。因此DWT可以代替定时器外设来实现延时功能和测量代码运行时间的功能 ...
STM32F1与STM32CubeIDE快速入门芯片序列号读取
STM32F1与STM32CubeIDE快速入门-芯片序列号读取芯片序列号读取文章目录
芯片序列号读取
1、芯片序列号介绍
2、芯片序列号读取
3、STM32F1与STM32CubeIDE系列文章
3.1 STM32F1与STM32CubeIDE快速入门
3.2 STM32F1与STM32CubeIDE编程实例
1、芯片序列号介绍每个 stm32 微控制器都配备了唯一的序列号,该序列号储存只读存储区。也就是说,它不能被擦除或重写,只能读取。有时需要为嵌入设备分配唯一标识,芯片的唯一序号号也是一个选择。
STM32的序列号是一个96位的数字,分别位于两个16位和两个32位的寄存器中。如下图所示:
读取序号时,需要从基地址*(第一个寄存器的地址)*开始按寄存器大小移位读取。基地址可以在STM32芯片数据手册,RM0008 中的“Unique device ID register (96 bits)”章节中找到(第1077页左右)。本文实例使用的芯片为STM32F103VETx,其基地址为:: 0x1FFF F7E8,偏移量为:0x00。
2、芯片序列号读取STM ...
STM32F1与STM32CubeIDE快速入门FSCM驱动TFTLCDILI9325
STM32F1与STM32CubeIDE快速入门-FSCM驱动TFT-LCD(ILI9325)FSCM驱动TFT-LCD(ILI9325)文章目录
FSCM驱动TFT-LCD(ILI9325)
1、FSCM介绍
1.2 FSMC外部设备地址映射
1.1 FSMC NOR Flash/SRAM bank 描述
2、TFT-LCD与 FSMC接口
2.1 常用彩色液晶接口介绍
2.2 FSMC 与 LCD 模块接口的典型用途
2.3 将FSMC连接到Intel 8080-like (I80) 接口LCD
2.4 将 FSMC 连接到类似摩托罗拉 6800 (M68) 接口LCD
2.5 将LCD与STM32F10xxx的FSMC连接
3、STM32CubeIDE中配置FSMC
4、TFT-LCD的驱动实现
4.1 TFT-LCD驱动基本定义
4.2 TFT-LCD寄存器操作
4.3 LCD初始化
4.4 颜色转换
4.5 基本图元绘制
4.5.1 填充矩形
4.5.2 绘制直线
4.5.3 绘制三角形
4.5.4 填充三角形
4.5.5 绘制矩形
...
Arduino与JavaScript开发实例开发环境搭建
Arduino与JavaScript开发实例-开发环境搭建文章目录
1、开发环境搭建
1、Firmata协议介绍
2、Arduino固件库烧写
2.1 安装Arduino Firmata支持库
2.2 安装Arduino固件
3、Firmata客户端开发环境
4、Firmata客户端项目
1、开发环境搭建1、Firmata协议介绍Firmata 是一种协议,用于通过计算机(或智能手机/平板电脑等)上的软件与微控制器进行通信。该协议可以在任何微控制器架构上的固件以及任何计算机软件包上的软件中实现。
Firmata 基于 midi 消息格式,其中命令字节为 8 位,数据字节为 7 位。例如,midi 通道压力(命令:0xD0)消息是 2 个字节长,在 Firmata 中,命令 0xD0 用于启用数字端口(8 个引脚的集合)的报告。 midi 和 Firmata 版本都是 2 个字节长,但含义明显不同。在 Firmata 中,消息中的字节数必须符合相应的 midi 消息。然而,Midi System Exclusive (Sysex) 消息可以是任意长度, ...
Arduino与JavaScript开发实例LED基础控制点亮关闭PWM及FadeIn和FadeOut
Arduino与JavaScript开发实例-LED基础控制-(点亮、关闭、PWM及FadeIn和FadeOut)LED基础控制-(点亮、关闭、PWM及FadeIn和FadeOut)文章目录
LED基础控制-(点亮、关闭、PWM及FadeIn和FadeOut)
1、硬件准备
2、软件准备
3、代码实现
3.1 LED对象创建
3.1.1 参数
3.1.2 初始化
3.1.3 调用
3.2 Electron代码实现
4、运行结果
Johnny-Five库中的Led 类构造了表示连接到物理板上的单个 Led 的对象。本次实例将演示如何在Electron的基础上通过Johnny-Five库与Arduino开发板通信,并实现控制LED点亮、关闭、PWM、及FadeIn和FadeOut。
1、硬件准备
Arduino Mega2560开发板一块
发光LED一个
杜邦线若干
数据线一条
硬件接线如下:
2、软件准备
VS Code IDE
Arduino IDE
NodeJs(本次使用的版本为v16.13.0)
Visual Studio 2019
Elec ...
Arduino与JavaScript开发实例LEDRGB颜色控制
Arduino与JavaScript开发实例-LED-RGB颜色控制LED-RGB颜色控制Johnny-Five库中的Led.RGB类构造了表示连接到物理板上的RGB LED的对象。本次实例将演示如何在Electron的基础上通过Johnny-Five库与Arduino开发板通信,实现对RGB颜色显示控制及单通道显示强度控制。
1、硬件准备
Arduino Mega2560开发板一块
发光RGB LED一个(这里选择共阴极,一共四个引脚)
杜邦线若干
数据线一条
硬件接线如下:
Arduino Mega 2560 开发板 引脚
RGB LED引脚
GND
GND
5
Red
6
Green
7
Blue
2、软件准备
VS Code IDE
Arduino IDE
NodeJs(本次使用的版本为v16.13.0)
Visual Studio 2019
Electron(本次使用版本为v17.0.1)
前面的文章已经对Arduino与JavaScript开发环境已经做了详细描述,请参考:Arduino与JavaScript开发实例-开发环境搭建
3、代 ...
Arduino与JavaScript开发实例WS2812控制
Arduino与JavaScript开发实例-WS2812控制WS2812控制文章目录
WS2812控制
1、WS2812简单介绍
2、Firmata协议简单介绍
3、Johnny-Five简单介绍
4、Electron简单介绍
5、硬件准备
6、软件准备
7、代码实现
7.1 Electron应用程序页面(index.html)
7.2 页面逻辑控制代码(led_ws2812_renderer.js)
7.3 主程序逻辑控制代码(main.js)
1、WS2812简单介绍WS2812是一款智能控制LED光源,控制电路和RGB芯片集成在一个5050个元件的封装中。 它内部包括智能数字端口数据锁存器和信号整形放大驱动电路。 还包括一个精密内部振荡器和一个12V电压可编程恒流控制部分,有效保证像素点光色高度一致。
数据传输协议采用单 NZR 通信方式。 像素上电复位后,DIN 口接收控制器的数据,第一个像素采集初始 24 位数据,然后发送到内部数据锁存器,其他数据通过内部信号整形放大电路整形后送到下一个级联 像素通过 DO 端口。 每个像素传输后,信号减少24bi ...
Arduino与JavaScript开发实例LED点阵显示控制Max7219控制器
Arduino与JavaScript开发实例-LED点阵显示控制(Max7219控制器)LED点阵显示控制(Max7219控制器)文章目录
LED点阵显示控制(Max7219控制器)
1、Led.Matrix对象构建
2、硬件准备
3、软件准备
4、代码实现
4.1 Electron应用程序页面(index.html)
4.2 页面逻辑控制代码(led_matrix_renderer.js)
4.3 主程序逻辑控制代码(main.js)
LED 矩阵或 LED 显示器是一种大型、低分辨率形式的点矩阵显示器,可用于工业和商业信息显示以及爱好者人机界面。 它由一个二维二极管矩阵组成,其阴极成行连接,阳极连接成列(反之亦然)。
Johnny-Five库提供了Led点阵驱动封装:Led.Matrix。本次实例将演示如何控制Led点阵显示不同的文字及图案。
1、Led.Matrix对象构建Led.Matrix 类构造一个对象,该对象可以表示连接到物理板上的一个或多个(链式)8x8 或 8x16 LED 矩阵(MAX7219、MAX7221 和 HT16K33)器件。 ...
