【STM32 Cotex-M3处理器系列编程】定时器灯亮

发布者:满足的36号最新更新时间:2015-09-22 来源: eefocus关键字:STM32  Cotex-M3  定时器 手机看文章 扫描二维码
随时随地手机看文章
//定时一秒LED亮
#include "stm32f10x.h"
 
unsigned int TimingDelay;
 
void Delay(unsigned int x)
{
 
TimingDelay=x;
while(TimingDelay--);
}
 
void TIM3_IRQHandler(void)
{
if(TIM_GetITStatus(TIM2,TIM_IT_Update) != RESET)//检查中断溢出标志位
{
TIM_ClearITPendingBit(TIM2,TIM_IT_Update);//清中断溢出标志位
GPIO_SetBits(GPIOC, GPIO_Pin_7); 
}
 
}
 
 
int main(void)
  SystemInit();
  
  //配置IO口
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE,ENABLE);//IO口使能设置
  GPIO_InitTypeDef GPIO_InitStructure;   //定义结构体
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;   
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOC, &GPIO_InitStructure);
  
  //设置定时器2
  TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//打开TIM2外设时钟
  TIM_TimeBaseStructure.TIM_Period = 10000;//1s
  TIM_TimeBaseStructure.TIM_Prescaler = 7199;//7200分频
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;//设置时钟分割
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//设置计数方式为向上计数
  TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);//初始化定时器2
  TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//打开定时器2中断
  TIM_Cmd(TIM2,ENABLE);//使能定时器
  
  
  //使能TIM2中断
  NVIC_InitTypeDef NVIC_InitStructure;
  NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;//选择TIM2全局中断
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
  
 
  while(1);
}
 
 
 
//以下是报错函数
#ifdef  USE_FULL_ASSERT
void assert_failed(uint8_t* file, uint32_t line)
{
  while (1)
  {
  }
}
#endif
关键字:STM32  Cotex-M3  定时器 引用地址:【STM32 Cotex-M3处理器系列编程】定时器灯亮

上一篇:STM32的JTAG引脚说明
下一篇:【STM32 Cotex-M3处理器系列编程】外部按键中断

推荐阅读最新更新时间:2024-03-16 14:32

STM32固件库实现led亮灭闪烁和音频发生器设计
概述 本文使用STM32F10X,软件为Keil uVision5,仿真软件Proteus 8 Professional 电路图 8个led亮灭实现代码 实现代码 //8¸öledÈ«ÁÁÈ«Ãð #include stm32f10x.h int main() { GPIO_InitTypeDef star; //配置开启GPIO时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //设置GPIO输出模式 //stm32F1提供了4种输出模式(推挽输出、开漏输出 、复用推挽输出 、复用开漏输出)和3种输出速度;一般配置LED采用推挽输出;
[单片机]
<font color='red'>STM32</font>固件库实现led亮灭闪烁和音频发生器设计
STM32中CAN中断2
void CAN_SetBaudRate(uint8_t iBaud) { CAN_StructInit(&CAN_InitStructure); CAN_InitStructure.CAN_TTCM = DISABLE; CAN_InitStructure.CAN_ABOM = ENABLE; //ENABLE:一旦硬件检测到128 次11位连续的隐性位,则自动退出离线状态 CAN_InitStructure.CAN_AWUM = ENABLE;//ENABLE硬件自动唤醒 CAN_InitStructure.CAN_NART = DISABLE;//DISABLE:CAN报文一直重传直到成功 CAN_In
[单片机]
探究STM32、FreeRTOS低功耗设计思路和原理
如今电池供电的产品很多,电池供电通常设计到一个问题,那就是低功耗。 本文为大家讲讲基于STM32、FreeRTOS实现低功耗思想和原理。 一 低功耗设计常规思路应用中使用的 RTOS 一般采用基于时间片轮转的抢占式任务调度机制,一般的低功耗设计思路如下:1. 当 Idle 任务运行时,进入低功耗模式;2. 在适当的条件下,通过中断或者外部事件唤醒 MCU。 但是, 从第二点可以看出,每次当 OS 系统定时器产生中断时,也会将 MCU 从低功耗模式中唤醒,而频繁的进入低功耗模式/从低功耗模式中唤醒会使得 MCU 无法进入深度睡眠,对低功耗设计而言也是不合理的。 在 FreeRTOS 中给出了一种低功耗设计模式 ——Tickl
[单片机]
探究<font color='red'>STM32</font>、FreeRTOS低功耗设计思路和原理
STM32串口实时接收数据与所提前定义的比较,并作出相应的操作
//typedef const uint16_t uc16; /*! Read Only */ uc16 BUF ={162,170,178,187,197,206,216,227,238,249}; u16 value;//可以是串口实时接收到的一些数据 void main(void) { for(i=0;i 10;i++) { if(value BUF ) { /* 这里可以写一些操作 */ } } }
[单片机]
STM32开发笔记92: SX1268驱动程序设计(时钟)
单片机型号:STM32L053R8T6 本系列开发日志,将详述SX1268驱动程序的整个设计过程,本篇介绍时钟的相关内容。 一、RC频率参考 Two RC oscillators are available: 64 kHz and 13 MHz RC oscillators. The 64 kHz RC oscillator (RC64k) is optionally used by the circuit in SLEEP mode to wake-up the transceiver when performing periodic or duty cycled operations. Several commands
[单片机]
<font color='red'>STM32</font>开发笔记92: SX1268驱动程序设计(时钟)
stm32 不断进入串口中断的bug解决方法
在使用stm32的时候,发现usart会莫名的卡在串口中断里,然而串口初始化只配置了RXNE中断,打断点发现不断进入中断却没不是RXNE中断引起的,经过查找资料发现是ORE的问题,2篇博文解决方案如下: http://bbs.21ic.com/icview-160999-1-1.html 及 http://blog.csdn.net/origin333/article/details/49992383 大致原因为开启了RXNE中断之后 ORE也开启了,但是使用USART_GetITStatus却无法读取到ORE的标志位(未使能ERR时),这样也无法消除中断申请,自然一直进入串口中断,如果要消除ORE需要使用USART
[单片机]
stm32复位电路设计 浅析stm32复位电路方法
说到复位,我们都不会陌生,系统基本都有一个复位按键。复位的种类有很多:上电复位、掉电复位、复位引脚复位、看门狗复位、软件复位等。本文探讨的就是在stm32中复位电路如何设计。 STM32介绍 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex®-M0,M0+,M3, M4和M7内核在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、互补型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA10
[单片机]
<font color='red'>stm32</font>复位电路设计 浅析<font color='red'>stm32</font>复位电路方法
关于STM32存储的堆栈地址
由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后有系统释放 4、文字常量区—常量字符串就是放在这里的。程序结束后由系统释放 5、程序代码区—存放函数体的二进制代码。 STM32的地址
[单片机]
关于<font color='red'>STM32</font>存储的堆栈地址
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved