一、在STM32中,有5个时钟源,为HSI,HSE,LSI,LSE,PLL.①HSI是高速内部时钟,RC振荡器,频率为8MHz;②HSE--高速外部时钟,可接石英或者陶瓷谐振器,或者外部时钟源,频率范围4MHz--15MHz.③LSI--低速内部时钟,RC 振荡
;******************** (C) COPYRIGHT 2010 STMicroelectronics ********************;* File Name: startup_stm32f10x_hd_vl.s;* Author: MCD Application Team;* Version: V3.4.0;* Date: 10/15/2010;* Descriptio
环境:STM32F10x 3.5固件库。下载地址http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zipMDK4.23 编译器一、第一步新建工程 取名 NewProject图1二、选择芯片型号
USB速度慢的原因有以下几种可能:1、协议问题 全速的USB设备,最大速度12Mb/s,但是如果跑的是HID之类慢速设备的协议,那么速度就没有那么快了,理论上只有1.5Mb/s。2、配置问题 USB配置描述符中有关于接收中断和发送
Ⅰ、概述RTC(Real Time Clock)是实时时钟的意思,它其实和TIM有点类似,也是利用计数的原理,选择RTC时钟源,再进行分频,到达计数的目的。该文主要讲述关于RTC的秒中断功能,这个功能类似SysTick系统滴答的功能。
先从最简单的问题开始,用STM32外部中断的方法实现PB.0按键控制PA.0LED灯:先总的说下实现中断的步骤:1,配置NVIC寄存器(函数),设置中断为第几组,占先优先级和次优先级; 函数方法: void NVIC_Configuration()
stm32是自带硬件I2C,相比于软件模拟I2c,硬件I2c效率更高。但是据说不稳定,这个我倒暂时还没有体会到。 在最开始使用硬件I2c的时候,程序总是卡死,要不从一开始
SysTick定时器被集成在NVIC中。因此,只要是Cortex-M3内核的单片机,就都有它。这个学习笔记就用SysTick定时器来实现走马灯的功能。SysTick定时器非常简答,只有四个寄存器。这四个寄存器的含义在《Cortex-M3权威指南
Ⅰ、概述接着上一篇文章来讲述关于RTC的计数功能,我们以实例RTC日历(读写年、月、日、星期、时、分、秒)来讲述该章节。STM32F1系列芯片的RTC功能和其他系列(F0、F2、F4等)相比来说,功能要弱一点,原因在于F1系
Ⅰ、写在前面关注我分享文章的朋友应该知道我在前面讲述过(软件、硬件)I2C主机控制从机EEPROM的例子。在I2C通信主机控制程序是比较常见的一种,可以说在实际项目中,很多应用都会使用到I2C通信。但在实际项目中作为
简单的一种应用,ARM芯片作为master,flash为slaver,实现单对单通信。ARM主控芯片STM32F103,flash芯片为MACRONIX INTERNATIONAL的MX25L6465E,64Mbit。 SPI应该是嵌入式外围中最简单的一种应用了吧!一般SP
此篇文章重点讨论STM32的GPIO的配置种类以及上拉输入、下拉输入、浮空输入、模拟输入的区别经过学习STM32发现,GPIO有8种工作方式输入模式:输入浮空、输入上拉、输入下拉、模拟输入输出模式:开漏输出、开漏复用功能
对GPIO进行未绑定,好处:加快对位操作的速度。1、位绑定公式(操作不同地址区域的位,用下面不同的公式)2、下面以GPIOA端口的配置进行讲解:3、对少量位进行绑定的程序例举:/***********************************
Ⅰ、写在前面说到IIC,大家都应该不会陌生,我们初学单片机的时候或多或少都知道或了解过,甚至使用I2C控制过器件。但是,有多少人真正去深入理解,或者深入研究过I2C通信协议呢?1、我们有必要学习I2C通信吗?I2C作
Ⅰ、概述本文讲述关于STM32功能比较强大的ADC模块。ADC(Analog to Digital Converter)也就是模拟量转化为数字量,而STM32的ADC模块功能比较多,本文主要讲述“三条通道逐次转换(单次、单通道软件触发)”。根据笔者的
Ⅰ、概述上一篇文章讲述的内容是:三通道逐次转换(单次、单通道软件触发),也就是说3条通道要三次软件触发才能完成转换,而且是通过软件读取转换数值。本文讲述三通道DMA连续转换(3通道、软件单次触发),也就是说3条通
我搜索了一下代码,发现来自:主头文件 #include "stm32f10x.h"8296行#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h"#endif上面是关于如何定位到"stm32f10x_conf.h"------------------------------------
根据这个图片来解释时钟系统1. STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4
;********************(C)COPYRIGHT2009STMicroelectronics********************;*FileName:startup_stm32f10x_cl.s;*Author:MCDApplicationTeam;*Version:V3.1.0;*Date:06/19/2009;*Description:STM32F10xConnectiv
STM32库里面设置usart的波特率是又乘又除, 初始化的代码可以直接用, 但要提高代码的效率,就要直接填分数分频值的立即数进入BRR寄存器, 改变波特率所以写了下面的宏, 希望大家有用/* 波特率的分数分频值宏 *///clk: u