推荐阅读最新更新时间:2024-11-04 16:53
STM32 USB复位机制、挂起机制及其唤醒机制详解
1 STM32 USB复位机制 主机可以对USB设备进行复位,主要是主机在和设备通讯之前会发送Reset信号把设备设置到默认的未配置状态,即主机拉低两根信号线(SE0状态)并保持10ms。当STM32 USB设备检测到主机的复位信号之后,如果复位中断使能,则会进入复位中断处理函数。 STM32 USB设备也可以对自身进行复位,置位控制寄存器的FRES对USB模块强制复位,此时USB模块将一直保持在复位状态下直到软件清除此位。如果USB复位中断被使能,将产生一个复位中断。USB设备在上电后首先会强制对自己进行复位,让自己处于未配置状态。 2 STM32 USB挂起机制 USB主机以3毫秒内不发送任何信号标志进入挂起状态(3m
[单片机]
STM32再学习——启动流程分析
我们写嵌入式程序,基本上采用C语言来编写,以main( )作为程序的入口。但实际上,mian()并不是最先要执行的,在这之前需要做一些基本的工作,如堆、栈的定义;main函数的复位连接等,这些工作就需要一个专门的启动程序来完成,由于需要做的工作内容不多,并且需要更直接的管理内存,一般采用汇编编写。 无论是STM32、ARM系列的单片机,还是简单的如51,PIC等,都以为上述原因,需要启动程序,只不过51,PIC等单片机的启动程序已经在相应的IDE编译、链接的时候隐含的编译了,故在写单片机程序的时候无需考虑。而STM32的启动有相应的启动文件,本文将采用KEIL MDK自带的启动文件STM32F10x.s进行分析。 1 启动模式的选
[单片机]
STM32CubeMX系列 | STM32内部FLASH
1. 内部FLASH简介 之前的文章中介绍过STM32F1利用SPI与外部FLASH(W25QXX芯片)通讯的例程,本例程将介绍STM32F1的内部FLASH,通过内部FLASH实现数据读写操作。 不同型号的STM32,其FLASH容量也有所不同,最小的只有16K字节,最大的则达到了1024K字节。此处我们使用的是STM32F103ZET6,其FLASH容量为512K字节,属于大容量产品,大容量产品的闪存模块组织图如下图示 STM32F1的闪存模块由:主存储器、信息块和闪存存储器接口寄存器3部分组成 主存储器:用来存放代码和数据常量,起始地址是0x08000000,BOOT0和BOOT1都接GND时,就是从该起始地址运行代码
[单片机]
C51对特殊功能寄存器位变量定义写法不严谨
C51对特殊功能寄存器位变量定义写法是否有不严谨之处,因为sbit P1_3=P1^3;中^是一个双目运算符 (按位加),P1口的8位状态和3正好构成双目,前面又是一个赋值号,又把一个字节赋给一个位,逻辑上讲不通。为什么非要用一个^号来定义,如果用两个(^^)来定义就不会有歧意,也不会被人误解了,在C51中有很多这样的符号,如== && !! =等。须要用上面的写法来定义吗?在这点上我可能是有点晕,但尚未影响编程,如果方便请看了书的和会搞程序的同人给予指点!
[单片机]
高集成度编程工具软件STM32代码烧录编程实战
凡用过STM32的用户应该知道,当你完成程序调试后,想对STM32芯片进行程序代码烧录编程的话可以有多种方式。若通过调试接口【JTAG/SWD】来烧写程序,一般要使用STVP或STLinkUtility工具软件来完成;若通过UART接口来烧写程序,往往要下载个基于PC 端的flash烧录工具软件STM32 Flash loader demo配合;若通过USB接口来烧写程序,往往需下载DfuSe USB 固件升级工具软件来实现。如今ST推出了新的高集成度编程工具软件STM32CubeProgrammer,以后就不用这么麻烦了,因为它同时支持上述三类编程接口,而且还兼具其它功能。 一、STM32CubeProgrammer具备如下
[单片机]
用STM32实现:摄像头扫到二维码后提取二维码中的信息分别放到数组中
把想要的信息编辑好放到二维码中(网上有好多在线生成二维码的工具) char name ;//从二维码扫到的姓名:eg:weibo char ID ;//从二维码扫到的ID:eg:16208207033 //二维码解密函数 void Code_Decrypt(int admin) { strncpy(name, Usart2_buf, 5);//获取姓名 name =''; strncpy(ID, Usart2_buf+5, 11);//获取ID ID =''; } //串口2终中断(串口2接收到数据先给GetData1,再存入Usart2_buf) void USART2_IRQHan
[单片机]
浅谈STM32最小系统的基本组成
经常使用STM32开发的工程师对于它的开发环境的最小系统是必须要有所了解的,特别是硬件工程师在设计硬件的时候对这个最小系统就要更加的深入了解了,如果最小系统的搭建都有问题,那以后的使用很难避免不出现问题。 话不多说,进入正题说说STM32的最小系统的基本组成! 1、STM32最小系统硬件组成包括哪些? STM32的最小系统的硬件组成主要有:电源电路、复位电路、时钟电路、调试接口电路、启动电路。 电源 : 一般是3.3V输入作为STM32芯片的工作电压,实际中很多采用LDO将5V转换为3.3V进行供电,另外电路上还要加多个0.01uf去耦电容对输入电压进行滤波,稳定输入电压。 复位:STM32中有三种复位方式,分别为:上电复
[单片机]
STM32开发 -- Keil使用(1)
一、keil主界面详解 打开一个工程文件,可以看到如下的界面: 下面我们就一一来介绍下。为了讲解专门找到一个keil汉化补丁。也是够够的了。 这里的汉化为了方便讲解,实际工作中建议还是用英文版本。 下载:keil 4汉化包 1、菜单栏 文件 其中需要注意的是 License Management,破解时需要在这里输入。 编辑 视图 工程 闪存 调试 外围设备(仿真) 工具 2、工具栏 文件操作 新建文件夹 Ctrl + N 打开文件 Ctrl + O 保存当前文件 Ctrl + S 保存所有文件 无 剪切 Ctrl + X 复制 Ctrl + C 粘贴 Ctrl + V
[单片机]