当前位置: 首页 > news >正文

做网站 每月赚 钱即墨网站优化

做网站 每月赚 钱,即墨网站优化,临清网站建设公司,天眼查在线查询企业信息查询前言 基于RT-Thread的STM32开发,配置使用定时器实现输入捕获。 比如配置特定通道捕获上升沿,该通道对应的引脚有上升沿信号输入,则触发捕获中断。 一、新建工程 二、工程配置 1、打开CubeMX 进行工程配置 2、时钟使用外部高速晶振 3、配置…

前言

基于RT-Thread的STM32开发,配置使用定时器实现输入捕获。
比如配置特定通道捕获上升沿,该通道对应的引脚有上升沿信号输入,则触发捕获中断

一、新建工程

在这里插入图片描述

二、工程配置

1、打开CubeMX 进行工程配置

在这里插入图片描述

2、时钟使用外部高速晶振

在这里插入图片描述

3、配置下载口

在这里插入图片描述

4、配置时钟树

在这里插入图片描述

5、打开串口一调试输出

在这里插入图片描述

6、配置定时器三,打算用定时器三的通道一做输入捕获。

在这里插入图片描述

7、生成.c和.h文件

在这里插入图片描述

8、生成代码

在这里插入图片描述

三、代码编写

1、先编译一下工程,出现如下报错

在这里插入图片描述

2、修改芯片支持包版本

在这里插入图片描述

3、将0.2.3降版本为0.2.2

在这里插入图片描述

4、确认切换

在这里插入图片描述

5、点击确定去下载资源

在这里插入图片描述

6、下载0.2.2版本

在这里插入图片描述

7、下载完成后再进行切换

在这里插入图片描述

8、切换完成后,再进行编译,无报错无警告

在这里插入图片描述

9、使能定时器模块

在这里插入图片描述

10、打开定时器驱动程序

在这里插入图片描述

11、找到CubeMX生成的 MX_TIM3_Init()进入进去

在这里插入图片描述

12、长这样

在这里插入图片描述

13、找到这个函数HAL_TIM_Base_MspInit

在这里插入图片描述

14、把它放到MX_TIM3_Init()定时器三初始化函数的这个位置

在这里插入图片描述

15、在HAL_TIM_Base_MspInit这个函数里写上开启定时器三的中断。

在这里插入图片描述

16、最后再在定时器三的初始化函数里写上开启定时器三通道一的输入捕获。

在这里插入图片描述

17、回到主函数,在函数开始时进行定时器三的初始化,编译发现报错,说函数未定义

在这里插入图片描述

18、找到该函数,将前面的static关键字去掉

在这里插入图片描述

19、前面的声明这也要去掉

在这里插入图片描述

20、再编译,无报错无警告

在这里插入图片描述

21、再看看定时器三的初始化函数,这里是输入捕获的触发边沿,可以根据需要进行修改

在这里插入图片描述

22、在主函数这里写上输入捕获中断函数

在这里插入图片描述

23、打开CubeMX查看确认一下TIM3通道一的引脚号,我这里是PA6,也就是说当PA6引脚捕获到上升沿信号时,就会进入捕获中断。

在这里插入图片描述

24、进入HAL_TIM_Base_MspInit()函数,配置捕获引脚为下拉输入。

在这里插入图片描述

25、board.h里要打开TIM3

在这里插入图片描述

26、再配置一下时钟,RTT默认使用的是内部时钟,找到CubeMX生成的SystemClock_Config()时钟配置函数,将其复制到drv.clk.c里面来

在这里插入图片描述

27、然后在时钟初始化这里做一个替换,把CubeMX生成的时钟配置函数替换进去,把原来的注释掉

在这里插入图片描述

28、在主函数中写入如下代码测试,找到板子上的PA6引脚(我使用的是PA6),将其接到板子上的3.3V口,看看是否能捕获上升沿进入中断,由串口打印查看。

/** Copyright (c) 2006-2024, RT-Thread Development Team** SPDX-License-Identifier: Apache-2.0** Change Logs:* Date           Author       Notes* 2024-10-15     RT-Thread    first version*/#include <rtthread.h>
#include <rtdevice.h>
#include "board.h"/* system io */
#define SYS_LED             GET_PIN(A, 15)extern TIM_HandleTypeDef htim3;
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{if(htim->Instance == htim3.Instance){switch(htim->Channel){case HAL_TIM_ACTIVE_CHANNEL_1:rt_kprintf("TIM3_IC_TRICK!!\r\n");break;default:break;}}
}static void SystemLedRun(void)
{static uint8_t l_ucmode = 0;if (l_ucmode == 0){rt_pin_write(SYS_LED, PIN_HIGH);l_ucmode = 1;}else if (l_ucmode == 1){rt_pin_write(SYS_LED, PIN_LOW);l_ucmode = 0;}
}
int main(void)
{rt_pin_mode(SYS_LED, PIN_MODE_OUTPUT);rt_pin_write(SYS_LED, PIN_HIGH);MX_TIM3_Init(&htim3);while (1){SystemLedRun();rt_thread_mdelay(500);}return RT_EOK;
}

29、最后我把PA6脚触到3.3V电,则会触发捕获中断

在这里插入图片描述

http://www.yayakq.cn/news/818550/

相关文章:

  • 网络电子商务购物网站cd-wordpress
  • 东鹏拼奖网站怎么做外包seo服务收费标准
  • 广州做外贸网站公司邯郸seo排名
  • 世界网站制作产品网站推广方案
  • 合肥金融网站开发如何做公司简介介绍
  • 自建站公司淘宝客如何免费做网站
  • 华池网站建设柏乡网站建设
  • 网站好坏微信免费推广平台
  • 郑州汉狮做网站网络公司武昌建设局网站
  • 天津市建设与管理局网站网站查询平台官网
  • 动漫设计是什么系统优化大师免费版
  • 网站功能简介食品网站网页设计
  • 域名注册以后如何建站邢台网站改版定制
  • 手机网站主页阿里云做网站用哪个镜像
  • 建站 报价邢台wap网站建设报价
  • 网站注册流程和费用众筹网站怎么做
  • 湖北省住房城乡建设厅网站网站设计字体最好用
  • 官方网站建设推广appstore下载免费软件
  • 网站建设合同百度文库一级a做爰片免费网站国语
  • 网站开发 案例详解网站设计公司皆选奇点网络
  • 深圳网站设计 制作元小程序商店怎么推广
  • 好的设计作品网站如何在已建设好的网站做修改
  • 广州宝安建网站百度高级搜索功能
  • 湖南手机网站建设公司phpstudy2016快速搭建网站
  • 无锡网站建设制作方案去哪找人做网站
  • 网页设计与网站开发试题答案宜昌网站建设哪个公司好
  • 免费asp网站源码优化资讯
  • 网站建设服务预算做内贸的网站
  • 手机微信网站开发微信怎么做淘客网站
  • 外贸公司网站源码吉林市网站制作