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

广州网站整站优化推广怎么推

广州网站整站优化,推广怎么推,怎么注册中文域名,建设企业网站报价👨‍💻个人主页:开发者-削好皮的Pineapple! 👨‍💻 hello 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 削好皮的Pineapple! 原创 👨‍&#x1f4…

在这里插入图片描述


👨‍💻个人主页:@开发者-削好皮的Pineapple!

👨‍💻 hello 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 削好皮的Pineapple! 原创

👨‍💻 收录于专栏:C语言到基于STM32 的智能矿探小车


请添加图片描述

请添加图片描述

文章目录

    • 前言
    • 🎶一、外部中断基础
      • 1.1 外部中断与GPIO引脚对应关系
    • 🎶二、基于STM32F4xx的外部中断配置(初始化流程)
      • 2.1 中断源配置
        • 2.1.1 时钟信号使能
        • 2.1.2 GPIO初始化
        • 2.1.3 SYSCFG配置
        • 2.1.4 EXTI配置
      • 2.2 NVIC配置
    • 🎶三、外部中断服务函数
        • 结束语🥇


前言

今天是聚焦于STM32的外部中断相关知识的累累的一天。

中断是打断CPU正常执行的一种机制,对于STM32,有16个外部中断和GPIO引脚相关,分别称为EXTI0到EXTI15,GPIO引脚和外部中断按引脚编号一一对应,比如PA0对应EXTI0,PB0也对应EXTI0等。

我们所用的四个按键S1到S4分别连接PA0、PE2、PE3、PE4,对应产生EXTI0、EXTI2、EXTI3、EXTI4中断,按下相应按键可产生外部中断,进而实现小车行驶状态切换、速度增减及速度更改步长修改等功能,为后续智能矿探小车的开发进一步夯实基础。
在这里插入图片描述


🎶一、外部中断基础


1.1 外部中断与GPIO引脚对应关系

对于STM32,有16个外部中断和GPIO引脚相关,分别为EXTI0、EXTI1、EXTI2、…、EXTI15。

GPIO引脚和外部中断的对应关系为引脚编号一一对应,具体如下:

  • PA0、PB0、PC0、…、PI0均对应EXTI0
  • PA1、PB1、PC1、…、PI1均对应EXTI1
  • …以此类推

以我们使用的按键为例:

  • S1连接PA0,对应EXTI0
  • S2连接PE2,对应EXTI2
  • S3连接PE3,对应EXTI3
  • S4连接PE4,对应EXTI4

当按下这些按键时,会产生相应的外部中断。


🎶二、基于STM32F4xx的外部中断配置(初始化流程)


中断从产生到CPU处理要经过两级,分别是中断源配置和NVIC配置。

2.1 中断源配置

中断源即能够产生中断的地方,配置步骤如下:

2.1.1 时钟信号使能
  • 使能GPIO引脚时钟,使用函数RCC_AHB1PeriphClockCmd
  • 使能SYSCFG时钟,使用函数RCC_APB2PeriphClockCmd
2.1.2 GPIO初始化

通过GPIO_Init函数进行初始化,将GPIO配置成输入模式。

2.1.3 SYSCFG配置

使用SYSCFG_EXTILineConfig(uint8_t EXTI_PortSourceGPIOx, uint8_t EXTI_PinSourcex)函数进行配置,其中:

  • EXTI_PortSourceGPIOx用于指定GPIO的组号,如EXTI_PortSourceGPIOAEXTI_PortSourceGPIOB
  • EXTI_PinSourcex用于指定GPIO引脚编号,如EXTI_PinSource0EXTI_PinSource1、…、EXTI_PinSource15

注意:该函数不能进行位或操作,需逐个配置。例如:

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE, EXTI_PinSource2);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE, EXTI_PinSource3);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE, EXTI_PinSource4);
2.1.4 EXTI配置

通过EXTI_Init(EXTI_InitTypeDef * EXTI_InitStruct)函数进行配置,EXTI_InitStruct结构体包含以下参数:

  • EXTI_Line:指定外部中断线,如EXTI_Line0EXTI_Line1
  • EXTI_Mode:指定外部中断的模式,设为EXTI_Mode_Interrupt(中断模式)
  • EXTI_Trigger:指定外部中断的触发因素,可选择EXTI_Trigger_Falling(下降沿触发)、EXTI_Trigger_Rising(上升沿触发)、EXTI_Trigger_Rising_Falling(双边沿触发)
  • EXTI_LineCmd:使能标志,设为ENABLE(使能)

2.2 NVIC配置

通过NVIC_Init(NVIC_InitTypeDef * NVIC_InitStruct)函数进行配置,NVIC_InitStruct结构体包含以下参数:

  • NVIC_IRQChannel:指定IRQn通道,对应中断的_IRQn,如EXTI0_IRQnEXTI1_IRQn
  • NVIC_IRQChannelPreemptionPriority:指定抢占优先级
  • NVIC_IRQChannelSubPriority:指定子优先级
  • NVIC_IRQChannelCmd:使能标志,设为ENABLE(表示使能)

在STM32中,抢占优先级和子优先级总共占用4个bit,需要进行优先级分组,使用NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)函数,一般在main函数中调用一次即可。例如:

NVIC_PriorityGroupConfig(2); // 抢占优先级占用2bits(范围0-3),子优先级占用2bits

🎶三、外部中断服务函数


在STM32中,所有中断服务函数的名字已在启动文件(.s)中编写好,CPU会自发处理外部中断,无需调用外部中断服务函数。

服务函数格式如下:

// 外部中断0的服务函数
void EXTI0_IRQHandler(void)
{// 具体处理逻辑EXTI_ClearITPendingBit(EXTI_Line0); // 手动清除外部中断0标志位
}// 外部中断2的服务函数
void EXTI2_IRQHandler(void)
{// 具体处理逻辑EXTI_ClearITPendingBit(EXTI_Line2); // 手动清除外部中断2标志位
}// 外部中断3的服务函数
void EXTI3_IRQHandler(void)
{// 具体处理逻辑EXTI_ClearITPendingBit(EXTI_Line3); // 手动清除外部中断3标志位
}// 外部中断4的服务函数
void EXTI4_IRQHandler(void)
{// 具体处理逻辑EXTI_ClearITPendingBit(EXTI_Line4); // 手动清除外部中断4标志位
}

我们需要在对应的服务函数中实现按键功能:

  • 按下S1(对应EXTI0),切换小车的行驶状态
  • 按下S2(对应EXTI2),增加小车的行驶速度
  • 按下S3(对应EXTI3),减少小车的行驶速度
  • 按下S4(对应EXTI4),修改速度的更改步长

请添加图片描述

结束语🥇

🔥 订阅专栏持续学习:C语言到基于STM32的智能矿探小车
💬 欢迎点赞、收藏、留言讨论,一起攻克嵌入式开发

http://www.dtcms.com/wzjs/85321.html

相关文章:

  • 网站制作价格上海域名检测工具
  • 做一个像美团的网站需要多少钱淘宝标题优化网站
  • 深圳做棋牌网站建设多少钱下载百度app到桌面
  • 手机上怎么做自己卖菜的网站网络销售平台排名前十
  • 公司注册流程及条件seo顾问服务 乐云践新专家
  • 网站建设中的pv指的是啥网站发布与推广方案
  • 织梦网站怎么更换模板开发一个网站需要多少钱
  • eclipse sdk做网站seo关键词排名优化制作
  • 电子商务网站管理内容企业网站的域名是该企业的
  • 做国外网站衣服码数要怎么写网址生成短链接
  • 2018做网站还是app培训平台有哪些
  • 问卷调查网站JAVA怎么做可以建网站的网络公司有哪些
  • 深圳知名网站传媒网站
  • wordpress后台上不去太原seo关键词优化
  • 商城网站建设多少钱网站自助建站系统
  • 佛山网站seo公司美发培训职业学校
  • 电商网站建设方向经济新闻最新消息财经
  • 小说网站流量怎么做seo关键技术有哪些
  • 石排网站仿做联合早报 即时消息
  • 私密浏览器官网seo关键词排名优化要多少钱
  • wordpress模板主题关键词优化是什么
  • 手机网站设计知识潍坊网站建设优化
  • 钟表网站开发背景文章全球搜索引擎网站
  • 怎么自己做充值网站优化软件下载
  • 厦门网站优化公司郑州网络seo公司
  • 塘厦仿做网站营销推广48个方法
  • 做视频网站带宽外贸网站推广平台有哪些
  • 企业网站如何做网警备案江苏seo技术教程
  • 秦淮做网站价格百度搜索图片
  • 教做奥数的网站商品关键词举例