推荐阅读最新更新时间:2024-11-11 19:25
STM32之系统时钟基定时器
STM32F10x内核中都具有一个系统时钟基定时器,是一个24位的递减计数器。在其设置处置并使能后,每经过一个系统时钟周期,计数值减1.档计数值减到0时系统时基定时器又会自动重载初值。 系统时基定时器每10ms就会产生一次中断。 接下来主要介绍库函数。 1.SysTick_CLKSourceConfig函数的功能是设置SysClock的时钟源。其中输入参数为SysTick_CLKSource:SysTick时钟源 参数可取的值为:SysTick_CLKSource_HCLK_Div8;SysTick_CLKSource_HCLK.表示SysTick时钟源为AHB时钟除以8和AHB时钟源。 例:设置系统定时器时钟为AHB时钟。 Sy
[单片机]
Keil STM32工程环境搭建
ST官方提供了一套操作STM32各种外围设备的库,使用该库可以快速的搭建STM32工程,简化工作。 一、【安装STM32库】 将下载后的stm32f10x_stdperiph_lib.zip解压后得到三个文件夹分别是: Libraries 、 Project 、 Utilities 将这3个目录复制到 Keil uVision4 的安装目录,和目录中的文件覆盖合并。 二、【新建工程】 1、打开 Keil uVision4 ,在Project菜单中选择新建工程,选择工程要保存的位置,在弹出的“Select Device for target”的对话框中选择使用的STM32单片机的型号如“STM32F103C8”,点确定,然后
[单片机]
【STM32】HAL库 STM32CubeMX教程八---定时器输入捕获
前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1、芯片: STM32F407ZET6/ STM32F103ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM32F4xxHAL库 知识概括: 通过本篇博客您将学到: PWM工作原理 STM32CubeMX创建PWM例程 HAL库定时器PWM函数库 PWM创建呼吸灯 什么是PWM 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非
[单片机]
stm32.cube(七)——arm-gcc.helloworld
一、前言 对与MDK-ARM(keil),EWARM(IAR)和TureSTUDIO(Atollic)这三个ARM常用IDE工具,在cube包里都有对应的例子。 而对于arm-gcc,cube里只提供了例程的源码。由于需要自己写Makefile,因此比起各种IDE来说,配置的复杂度要更高一点。 二、cube.gcc项目建立过程 2.1 移植代码 根据实际应用,拷贝需要用到的HAL、BSP、CMSIS、middleware、RTOS代码到工程文件夹。 比如一个项目用到了触屏,就从middleware目录下拷贝STemWin。 用到的芯片peripheral,就从HAL目录下拷贝相应的hal_xxx_xxx.c和hal_xxx_x
[单片机]
stm32软件触发的按键长按与短按区分
/* ------------------------------------------------------------------------------------------------ * @fn KeyCoolPressTimeHandle * * @brief 按键的检测 * * @param none * * @return none ************************************************************************************************** */ uint8_t KeyCoolPr
[单片机]
STM32的JTAG和SWD模式的区别
JTAG(Joint Test Action Group,联合 测试 行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。相关JTAG引脚的定义为: TMS:模式选择,TMS用来设置JTAG接口处于某种特定的测试模式; TCK:时钟输入; TDI:数据输入,数据通过TDI引脚输入JTAG接口; TDO:数据输出,数据通过TDO引脚从JTAG接口输出; SWD接口 串行调试(Serial Wire Debug),应该
[单片机]
让STM32的外部SRAM操作跟内部SRAM一样
前几天看到开源电子论坛(openedv.com)有人在问这个问题,我特意去做了这个实验,这样用外部SRAM就跟用内部SRAM一样,不用自己去申请内存,也不用考虑什么内存地址,一切让编译器自己去解决。 废话不多说,我直接拿原子哥的战舰开发板库函数版的外部SRAM实验来修改。在库函数的system_stm32f10x.c这个初始化文件当中其实就已经有外部SRAM的初始化,我们只要增加 #define DATA_IN_ExtSRAM 1 这句宏定义 view sourceprint? 1 #if defined (STM32F10X_HD) || (defined STM32F10X_X
[单片机]
stm32专题五:时钟树(一)寄存器
详细介绍stm32系统时钟配置: 1 时钟来源:外部高速晶振HSE和内部RC振荡器HSI。通过RCC_CR(时钟控制寄存器来配置)。 HSEON为1时,打开外部时钟;当位HSERDY为1时,表示HSE已经准备就绪。同理,HSION和HSIRDY配置内部时钟。当HSE故障时,系统时钟自动切到HSI,直到HSE启动成功。注意:由于HSI不太精确,系统启动时会自动校准,HSICAL 这些位被自动初始化,HSITRIM 用于内部时钟HSI的调整,由软件写入,这些位会叠加到HSICAL 的数值上。 问题:具体怎么调整?HSITRIM 的默认初始值为16,即10000。中文参考手册中说到,可以把HSI调整到8MHz±1
[单片机]