划重点!嵌入式方向面试题目大汇总(七)

简述一下STM32中断有哪些?

外部中断: STM32 MCU可以通过引脚来检测外部事件,如按键、传感器信号等。当外部事件触发时,引脚将产生电平变化,从而产生外部中断。STM32 MCU提供了多个外部中断线,可以设置中断触发条件和优先级等。

定时器中断: STM32 MCU提供了多个定时器,可以用于产生一定时间间隔的定时中断。通过设置定时器的预分频器和计数器,可以产生不同的定时中断时间。

DMA中断: STM32 MCU提供了DMA(直接内存访问)控制器,可以实现高速数据传输。当DMA传输完成时,可以产生DMA中断,以通知CPU数据已经传输完成。

UART中断: UART(通用异步收发传输器)是STM32 MCU中用于串口通信的模块,可以通过设置UART中断使能来实现串口数据的异步接收和发送。

SPI中断: SPI(串行外设接口)是STM32 MCU中用于连接外部设备的接口,可以通过设置SPI中断使能来实现SPI数据的异步传输和接收。

I2C中断: I2C(串行通信总线)是STM32 MCU中用于连接外部设备的接口,可以通过设置I2C中断使能来实现I2C数据的异步传输和接收。

USB中断: STM32 MCU中提供了USB接口,可以通过设置USB中断使能来实现USB数据的异步传输和接收。

ADC中断: ADC(模数转换器)是STM32 MCU中用于模拟信号采样的模块,可以通过设置ADC中断使能来实现模拟信号的采样和转换。

你对STM32的外部中断有哪些了解?

在STM32芯片中,外部中断可以分为两类:基于线路中断(EXTI)和基于事件中断(EVENTOUT)。

基于线路中断(EXTI)是指在特定的IO管脚上检测到信号变化时,会产生一个外部中断请求,从而触发中断服务程序。在STM32中,可以通过外部中断线(EXTI线)将IO管脚连接到外部中断输入线路。当IO管脚检测到的信号变化满足预定义的条件时(例如上升沿、下降沿、上升/下降沿、高电平、低电平等),就会触发中断服务程序。

基于事件中断(EVENTOUT)是指在芯片内部某个事件发生时,会产生一个外部中断请求,从而触发中断服务程序。在STM32中,事件发生后会向事件输出线路(EVENTOUT)发送事件通知,当事件通知满足预定义的条件时,就会触发中断服务程序。EVENTOUT可以连接到另一个STM32芯片,从而实现多个芯片之间的协作。

以Hal库为例,外部中断需要配置什么参数?

GPIO引脚设置: 设置外部中断所对应的GPIO引脚,选择引脚的输入模式(上拉/下拉/无上下拉)。

NVIC设置: 开启对应的中断通道,设置中断优先级。

外部中断初始化设置: 包括外部中断模式设置(上升沿/下降沿/双边沿触发模式)、中断使能和回调函数设置。

附赠代码一份:

void HAL_GPIO_EXTI_MspInit(void)
{
    GPIO_InitTypeDef GPIO_InitStruct = {0};
  
    /* GPIO Ports Clock Enable */
    __HAL_RCC_GPIOB_CLK_ENABLE();
  
    /*Configure GPIO pin : PB10 */
    GPIO_InitStruct.Pin = GPIO_PIN_10;
    GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
    GPIO_InitStruct.Pull = GPIO_PULLDOWN;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

    /* EXTI interrupt init*/
    HAL_NVIC_SetPriority(EXTI15_10_IRQn, 1, 0);
    HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
}

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
    /* 用户自定义的中断处理函数 */
    // ...
}

#牛客在线求职答疑中心##数据人的面试交流地#
嵌入式面试必“背” 文章被收录于专栏

本专栏收录原创嵌入式方向面试宝典,为嵌入式硬件软件工程师岗位的同学提供面试经典题目整理。收录全面更新迅速,值得一阅!

全部评论
讲的好清晰啊
点赞 回复 分享
发布于 2023-04-21 13:32 辽宁
如此详细,爱了
点赞 回复 分享
发布于 2023-04-21 13:29 北京
楼主讲的真详细
点赞 回复 分享
发布于 2023-04-21 13:22 上海
感谢大佬的分享
点赞 回复 分享
发布于 2023-04-21 13:17 陕西
感谢楼主大大的分享
点赞 回复 分享
发布于 2023-04-21 13:09 辽宁
好清晰呀,太棒了!
点赞 回复 分享
发布于 2023-04-20 19:11 北京
非常详细的回答,代码也很清晰,感谢分享!
点赞 回复 分享
发布于 2023-04-20 19:08 AI生成

相关推荐

FieldMatching:看成了猪头顾问,不好意思
点赞 评论 收藏
分享
评论
16
91
分享

创作者周榜

更多
牛客网
牛客企业服务