[stm32f407]定时器使用

news2024/11/15 6:48:37

1.定时器定时串口打印

main.c

#include "stm32f4xx.h"                  // Device header
#include "serial.h"
#include "delay.h"
#include "tim.h"

extern uint16_t count;

int main(void)
{
    Serial_Init();

    TIM_Init();
  
    printf("123success");
  
  while (1)
  {    
    printf("count=%d\r\n",count);

    if((count%10)==1){     
      printf("interrupt\r\n");
    }
          
    if(count>1000){
        count=0;
    }    
  }
}

void TIM3_IRQHandler(){
    if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET){
        count++;
        TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
    }       
}

TIM.c

#include "stm32f4xx.h"                  // Device header




#define PSC 1680-1


uint16_t count=0;

void TIM_Init(){
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
    
    TIM_TimeBaseInitTypeDef TimeBaseInitStructure;
    TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
    TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;  
    TimeBaseInitStructure.TIM_Period=1000-1;
    TimeBaseInitStructure.TIM_Prescaler=PSC;
    TIM_TimeBaseInit(TIM3,&TimeBaseInitStructure);
    
    TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//深入理解
    
    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
    NVIC_Init(&NVIC_InitStructure);
    
    TIM_Cmd(TIM3,ENABLE);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1923852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过AIGC赋能创意设计发展

随着人工智能技术的飞速发展,AIGC(Artificial Intelligence Generated Content)正逐渐成为创意设计领域的新引擎。AIGC通过智能算法与大数据的深度融合,不仅为设计师们提供了前所未有的创意灵感,还在设计方案优化等方面…

云计算数据中心(一)

目录 一、云数据中心的特征二、云数据中心网络部署(一)改进型树结构(二)递归层次结构(三)光交换网络(四)无线数据中心网络(五)软件定义网络 一、云数据中心的…

光明乳业首推公益主题数字资产,用爱助力青少年健康成长

作为一直秉持“温暖如一”的企业价值观的百年乳企,光明乳业始终关注青少年儿童的健康成长,积极投身公益活动,用爱心和行动温暖他们的世界。 今年六月,适逢儿童节与全国爱眼日,光明乳业先后参与“童心筑爱 品牌赋能”公…

神经网络 | Transformer 基本原理

目录 1 为什么使用 Transformer?2 Attention 注意力机制2.1 什么是 Q、K、V 矩阵?2.2 Attention Value 计算流程2.3 Self-Attention 自注意力机制2.3 Multi-Head Attention 多头注意力机制 3 Transformer 模型架构3.1 Positional Encoding 位置编…

晏子春秋-读书笔记二

“橘生淮南则为橘,生于淮北则为枳,叶徒相似,其实味不同。所以然者何?水土异也。今民生长于齐不盗,入楚则盗,得无楚之水土使民善盗耶?” 这段话的大意是说,橘树生长在淮河以南就是甜美…

【触摸屏】【地震知识宣传系统】功能模块:视频 + 知识问答

项目背景 鉴于地震知识的普及对于提升公众防灾减灾意识的重要性,客户希望开发一套互动性强、易于理解的地震学习系统,面向公众、学生及专业人员进行地震知识教育与应急技能培训。 产品功能 系统风格:严谨的设计风格和准确的信息呈现&#…

PointCloudLib ISS关键点提取 C++版本

测试效果 算法简介 PCL(Point Cloud Library)中的内部形状描述子(ISS,Intrinsic Shape Signatures)关键点提取是一种在3D点云中提取显著几何特征点的方法。这种方法非常适用于需要高质量点云配准、对象识别和分类等任务。以下是对PCL内部形状描述子(ISS)关键点提取的详…

企业国产操作系统选型适配实施方案

【摘要】企业在推动国产化进程时,需选择一款主流、稳定且安全的服务器操作系统作为其系统软件。在产品投入实际生产环境前,对上游软硬件的适配情况有深入了解至关重要。本文将重点介绍银河麒麟高级服务器操作系统V10(以下简称麒麟V10&#xf…

深度学习中的FLOPs补充

学习了博主的介绍(深度学习中的FLOPs介绍及计算(注意区分FLOPS)-CSDN博客)后,对我不理解的内容做了一点补充。 链接放到下边啦 https://blog.csdn.net/qq_41834400/article/details/120283103 FLOPs:注意s小写,是floa…

AH3-3 10s AC220V时间继电器 面板安装 约瑟JOSEF

时间继电器 AH3-3 AH3-2 AH3-1 AH3系电子式时间继电器具有体积小、重量轻、延时精度高、延时范围宽、可靠性好、寿命长等特点,产品符合国际标准,最适合在各种高精度、高可靠性自动控制场合作延时控制之用. 型号:AH3-3 外型尺寸&#xff1a…

【Quart 框架——来源于Flask的强大且灵活的异步Web框架】

目录 前言一、Quart简介1-1、简介1-2、与flask的区别 二、快速开始2-1、安装2-2、基本用法 三、核心功能3-1、异步路由3-2、WebSockets 支持3-3、中间件3-4、蓝图 (Blueprints) 四、部署4-1、使用uvicorn部署4-2、使用hypercorn部署 五、案例分析总结 前言 Quart 是一个基于 Py…

​Chrome 插件: GoFullPage 一键搞定全网页截图

在互联网时代,网页截图已成为我们日常工作和生活中不可或缺的部分。无论是保存重要信息、制作教程,还是分享有趣的内容,截图功能都显得尤为重要。然而,常规的截图工具往往只能截取当前屏幕的内容,对于长网页则显得力不…

2024 辽宁省大学数学建模竞赛C 题 改性生物碳对水中洛克沙胂和砷离子的吸附 完整思路 代码结果分享(仅供学习)

目前全球水体砷污染问题严重,极大地危害了人类的健康。砷在水体中主要以砷离子[AS(V)]和洛克沙胂(ROX)两种形式存在。改性生物碳具有优秀的吸附性能,可用于砷污染的处理。改性生物碳表面的官能团可以通过静电吸引、配位作用或络合作用与 AS(V)和 ROX 结合…

离线下载linux mysql和mysql基本库

下载地址:https://dev.mysql.com/downloads/mysql/ 选择数据库版本,系统,系统版本信息 下载需要的rpm包,传入服务器,使用yum install xxx.rpm安装即可 mysql-community下载地址 https://dev.mysql.com/downloads/my…

SpringCloud教程 | 第七篇: 使用Nacos管理服务

1、先开发了一个生产者,启动了一个服务, 代码参考:https://github.com/veminhe/nacos.git 2、然后复制了该生产者,改了一下端口,启动成了另外一个服务 3、然后开发了一个消费者,里面使用了feign调用生产者…

Windows安装mamba全流程(全网最稳定最成功)

windows系统下安装mamba会遇到各种各样的问题。博主试了好几天,把能踩的坑都踩了,总结出了在windows下安装mamba的一套方法,已经给实验室的windows服务器都装上了。只要跟着我的流程走下来,大概率不会出问题,如果遇到其…

初阶数据结构—排序

第一章:排序的概念及其运用 1.1 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有…

负载均衡-轮询-两种简易实现

1、描述 下游可用的服务器目前有5个(node),设计一个方法,方法没有任何参数,采用轮询的方式返回其中一个node; 2、使用环形链表 每次取下一个node即可。注意:需要保证线程安全! // …

Android焦点之SurfaceFlinger传递给InputFinger

接下来就到了SurfaceFlinger端,内调ISurfaceComposer的setTransactionState() SurfaceFlinger::setTransactionState:这里是一个BpBn操作,进程surfaceflinger的binder线程,主要是调用到SurfaceFlinger.cpp的setTransactionState()。 在每次…

Binder驱动中的流程详解

1.前言 作为安卓系统中重要的IPC通信机制,Binder通信使得组件之间的通信更加的高效和灵活。但在实现上,Binder通信横跨了整个Android系统架构,从应用层到frameworks,再到native,最后到底层kernel,这使得Bin…