嵌入式一般生活中常说的嵌入式是指嵌入式系统,国内对嵌入式系统的普遍定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。USB接口USB(Universal Serial Bus)即通用串行总线,同样也是一种外部总线标准,用于规范电脑与外部设备的连接和通讯。标准的传输速率为12Mbps,版本有USB1.1、USB3.0、US
转载
2024-09-29 10:48:59
1386阅读
1.自述:之前看到NE555的芯片手册中有脉冲宽度调制的电路,想着能否用软件方式实现,便用手头的STM32F103RCT6开发板进行尝试。2..实验器材:stm32f103ZETX开发板3.大致思路:利用32f1的ADC接收数据,同时利用定时器通道产生PWM波,简单的处理后根据接收到的ADC数据改变PWM的占空比来模拟脉冲宽度调制。脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的
STM32CubeProgrammer(STM32CubeProg)是STM32微控制器的专用编程工具。 STM32用户都知道,当完成程序调试,需要对芯片进行程序代码烧录编程,一般会有三个选择:
通过调试接口【JTAG/SWD】来烧写程序,一般要使用STLink Utility或STVP工具软件来完成;通过UART接口来烧写程序,需要下载基于PC端的flash
转载
2024-09-04 15:47:19
1628阅读
一、对于STM32型号的区分 STM32系列产品命名规则 示例:
产品系列
STM32 = 基于ARM®的32位微控制器产品类型
F = 通用类型产品子系列
101 = 基本型
102 = USB基本型,USB 2.0全速设备
103 = 增强型
105或107 = 互联型引脚数目
T = 36脚C = 48脚R = 64脚V = 100脚Z = 144脚
借鉴了很多材料以及走了很多弯路,最终终于实现了拍照储存并显示的功能——————————————————————材料:正点原子STM32f103,正点原子ov7725(带FIFO),平平无奇的16G SD卡 - 板子架好了就这样,旁边的东西是别的项目的,其实一开始用的是网上随便买的一款,但是不知道是因为代码不对还是数据传输问题,总是花屏,最好的情况就是能显示强光源怀疑是数据干扰的问题,在网上搜了很多
手里有一块H7的板子,买了很久了,最近拿起来跑跑代码,在使用之前我们要先学习下H7的内存分布,之前可能接触过ST的程序员没有发现有内存分布的特性,这可能是在M7系列新加的特性。(推荐大家看看硬汉嵌入式文档,写的很详细)TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM 用于指令,DTCM 用于数据,特点是跟内 核速度一样,而片上 RAM 的速度基本都达不到这个速度。
STM33Cube 开发方式 主要特点如下, (1)使用STM32CubeMX 对STM32 器件的系统资源、外设和中间件进行图形化配置、生成STM32CubelDE项目的外设初始化代码和项目框架。 (2)使用STM32CubelDE 在外设初始化代码和项目程序框架的基础上造一步秀加用户功能代码,实现应用功能。 (3)开发过程中,用户可以使用STM32CubeMX重新配置STM32 器件,重新生成
转载
2024-05-10 21:52:45
244阅读
STM32 USB 之从0开始移植笔记 -----------------------------------动机-----------------------------------写在前面的话:最近逛淘宝无意间发现RC522居然只要10元左右就可以包邮买到,真是太便宜了,就忍不住买了个
一. 板子功能构想定位 我们要设计的板子的定位是针对学生群体学习使用开发板,因此板子在功能完善的情况下尽可能的降低成本,同时要具有一定的拓展性。主控 这里我们来确定主控芯片。ST公司作为行业巨头,其设计的32位控制器在行业内普及度非常高,控制器本身功能也非常完善,学习的价值非常大,作为入门来说是非常棒的选择。其次我们的定位是学习板,对控制没有特殊要求。最后考虑到设计成本,芯片的引脚不能太多,价格不
在网上看了一下关于DSP的库的开发环境设置,写的有些乱,现在来整理一下,做一下MARK吧!
步骤如下:
1 . 建立工程,添加相关必要的文件到工程中。
2. 打开 option for target 选择 Target 标签,在code generatio中,将floating point hardware 选择 USE FPU。
转载
2024-06-03 21:04:47
184阅读
目录概述USB全速设备接口USB OTG全速(OTG_FS)主机模式功能设备模式功能概述Stm32F103集成了USB全速设备接口(USB)和USB OTG全速(OTG_FS)两个模块。USB全速设备接口只支持做USB设备,OTG_FS是双重角色设备(DRD)控制器,支持主机端和设备端的功能。图 1USB设备框图图 2OTG_FS框图USB全速设备接口标准USB共四根线组成,除VCC/GND外,另
STM32 USB转串口分析芯片:STM32F407VE编译器:KEIL5作者:SY日期:2017-9-18 09:56:00概述使用 STM32_USB-Host-Device_Lib_V2.2.0 usb 库,将 stm32 作为 usb 设备,实现 usb 转串口的功能。移植按照例程添加相关文件后测试,主机端使用 Windows7 X64 ,可以正常识别 usb 设备,Windows 安装驱
前言学习stm32 USB接口使用,学会用CUBE工具快速创建USB设备工程及调试,关于usb的相关知道请读者提前准备并学习,当然如果不想深究其中原理的话,跟着本文来操作就可以实现基于USB的设备开发了。需要提示的是,stm32在使用usb接口功能是一般需要在DP引脚上上拉一个1.5K电阻到3.3V(部分MCU内部会上拉)。 示例详解基于硬件平台: STM32F10C8T6最小系统板,
转载
2024-05-13 20:21:46
3263阅读
一、stm32的usb简介: 1。usb外设实现了usb2.0全速总线和APB1总线间的接口。 2。usb外设支持usb挂起/恢复操作,可以停止设备时钟实现低功耗。 二、usb主要特征 1。符合usb2.0全速设备的技术规范 2。可配置1到8个usb端口 3。CRC(循环荣誉校验)生成/检验,反向不归零(NRZI)编码/解码和位填充 4。支持同步传输 5。支持批量/同步端点的双缓冲区机制 6。支
转载
2024-02-20 22:10:32
1214阅读
一、USB简介USB(Universal Serial BUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。USB 接口支持设备的即插即用和热插拔功能。USB 是在 1994 年底由英特尔、康柏、IBM、Microsoft 等多家公司联合提出的。USB 发展到现在已经有 USB1.0/1.1/2.0/3.0 等多个版本。目前用的最多的就是
通过CubeMX实现STM32的USB支持1 添加晶振2 添加USB,我用的是FS通道3添加中间件,选择CDC虚拟串口4 添加调试接口SWD5 设置时钟,我用的是12M晶振,选择红线标识的通道6 选择生成的工程,我用的Keil,堆和栈要设大点,不然Windows的设备管理器会有感叹号7 选择好库的相关选项8 在Keil中设置好编译器,建议选择最新的编译器,使用微库,单精度浮点9 在usbd_cd
转载
2024-03-29 23:16:41
2810阅读
文章目录1、USB鼠标1、实现鼠标输入2、单片机控制鼠标2、USB键盘 在前面的文章中介绍了USB作为虚拟串口,大容量存储功能的使用,并介绍了通过USB对单片机内部FLASH,外挂的FLASH以及SD卡的访问,但是USB其实还有很多其他的功能,因此这里就来介绍下关于HID设备,也就是人体交互的使用:1、USB鼠标1、实现鼠标输入首先还是线补充说下电脑插入USB后的过程,USB主机(一般是电脑)在
转载
2024-07-09 09:50:56
710阅读
今天有空,开贴讲讲,怎样配合ST 提供的库函数理解STM32F103 的USB模块,以及怎么调用这些库函数来实现基本的USB通信。题目很大,先只讲讲最简单的应用。1 关于512字节的Packet Buffer在STM32F103的USB模块中有一个RAM 区,称为Packet Buffer,共有512字节。USB模块中有个Buffer Description Table,这个Table位于512字
转载
2024-05-09 13:29:04
482阅读
STM32出现HardFault_Handler硬件错误的原因主要有两个方面: 1、内存溢出或者访问越界。(包括使用野指针) 2、堆栈溢出。下面的几个方法不一定能找对地方,所以有时候需要多试几个方法。并且结合变量值分析错误原因,实际情况可能随程序复杂程度不同,但根本原因基本是上面这两点之一。方法一 <下面用来测试的芯片是STM32L475,Cotex-M4内核> 在中断HardFaul
转载
2024-05-15 01:54:23
1341阅读
STM32 USB 键盘开发记录最近接触到 stm32 平台实现 usb keyboard 的内容,遍搜网络后最终选定了两个开源方案做参考。一号方案: STM32完整开发一台双模机械键盘二号方案:STM32硬核DIY机械键盘|蓝牙USB双模|灯控两个方案各有特点,一号方案用C++实现,用面向对象的理念把普通按键跟复合按键拆分开;二号方案实现了蓝牙键盘的功能;考虑到减少工作量需求,最终选择了一号方案