0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32入门编程总结4 (中断+串口)

天气也来叶夜了 来源:piaofengzai 作者:piaofengzai 2022-02-19 22:12 次阅读

STM32入门编程总结4(中断+串口)

系统异常中断与外部中断统称为中断,复位中断的优先级最高,

NVIC(NestedVectored Interrupt Controller)嵌套向量中断控制器,调整各个中断的优先级,

中断优先级 =抢占优先级(1-4bit)+子优先级(0、1)如果两个中断的抢占优先级与子优先级参数一致,则按照中断向量表里的顺序区分优先级。GPIO的中断,EXTI(External interrupt/event controller)外部中断/事件(event)控制器,外部中断为用户自定义中断内容(用户编写程序发生中断后要干啥事儿),外部事件为具体对应外设自动执行,EXTI 0-15总共16个,GPIO A-G当中的pin尾数与EXTI尾数对应,

例如: GPIOA_Pin_0、GPIOB_Pin_0都对应 EXTI 0;

GPIOA_Pin_1、GPIOB_Pin_1都对应EXTI 1;

中断内部的程序尽量简单(只改个标志位值flag啥的),处理函数放在主函数比较稳妥,中断占用太多资源,则其他中断就歇菜了。假设主函数要处理的问题需要对应的技能类似于孙悟空的72变,那么中断要处理的棘手问题需要对应的技能类似于观音给予孙悟空的三根毫毛,别没啥事儿瞎用。

串口&电平.png

串口分类及电平都在右侧了。

串口助手用:Mobaxterm,

在STM32项目里,Keil Options forTarget里勾选右侧 Use Micro LIB,

添加如下代码就可以在Keil里使用printf函数了。

代码:

#include "stdio.h" //标准输入输出头文件

int fputc(int ch, FILE *f) //写字符文件函数

{

HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 10);

return ch;

}

int fgetc(FILE *f) //读字符文件函数

{

uint8_t ch = 0;

HAL_UART_Receive(&huart1, (uint8_t*)&ch, 1, 10);

return (int)ch;

}

//添加以上代码 + √选 UseMicro LIB 后,就可以调用printf函数

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6002

    文章

    43983

    浏览量

    620891
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348855
  • 编程
    +关注

    关注

    88

    文章

    3441

    浏览量

    92415
收藏 人收藏

    评论

    相关推荐

    stm32串口接收中断触发原理

    配置串口接收中断使能:在初始化串口时,需要设置相应的控制寄存器来使能串口接收中断。这通常可以通过设置相应的标志位或使用特定的寄存器位来完成。
    发表于 01-17 15:42 1721次阅读
    <b class='flag-5'>stm32</b><b class='flag-5'>串口</b>接收<b class='flag-5'>中断</b>触发原理

    stm32中断怎么处理的

    STM32是一款非常强大的微控制器系列,具有丰富的外设和功能。中断STM32中非常重要的部分,能够帮助我们提高系统的响应速度和效率。本文将详细介绍STM32
    的头像 发表于 01-02 17:35 1081次阅读

    stm32虚拟串口接收的数据处理

    ,我们需要了解虚拟串口的工作原理。虚拟串口是通过软件模拟的串口,数据通过USB端口传输。在STM32中,我们可以使用USB CDC(Communication Device Class
    的头像 发表于 12-20 11:22 845次阅读

    STM32里的串口通信

    STM32里的串口通信 在STM32里,串口通信是USART,STM32可以通过串口和其他设备进
    的头像 发表于 11-10 15:58 1547次阅读
    <b class='flag-5'>STM32</b>里的<b class='flag-5'>串口</b>通信

    STM32如何配置外部中断STM32外部中断配置步骤

    STM32如何配置外部中断STM32外部中断配置步骤  作为一款现代化的微控制器,STM32系列芯片在各种应用场合中广泛应用。其中最常见的
    的头像 发表于 10-26 17:47 2118次阅读

    STM32 HAL库串口收发是如何使用的?

    STM32 HAL库串口收发是如何使用的? STM32是一款高性能的微控制器,它拥有广泛的应用领域,其中包括了各种通讯应用,如UART串口通讯。HAL库是ST公司为了方便开发者使用
    的头像 发表于 10-26 17:42 736次阅读

    STM32串口中断及DMA接收常见的几个问题

    STM32串口中断及DMA接收常见的几个问题
    的头像 发表于 10-26 16:41 2561次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>串口中断</b>及DMA接收常见的几个问题

    STM32串口中断接收不定长报文介绍

    本项目中,需要使用STM32的USART6串口与FPGA板(下位机)通信,需要发送和接收数据,有报文应答机制。
    的头像 发表于 10-26 11:01 538次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>串口中断</b>接收不定长报文介绍

    STM32学习笔记一外部中断

    STM32 的每个 IO 都可以作为外部中断中断输入口。STM32F103 的中断控制器支持 19 个外部
    的头像 发表于 10-24 14:12 692次阅读
    <b class='flag-5'>STM32</b>学习笔记一外部<b class='flag-5'>中断</b>

    瑞萨RA MCU串口通信空闲中断

    瑞萨RA MCU串口通信空闲中断
    的头像 发表于 09-26 16:59 573次阅读
    瑞萨RA MCU<b class='flag-5'>串口</b>通信空闲<b class='flag-5'>中断</b>

    STM32串口发送数据和接收数据方式总结

    STM32串口发送数据和接收数据方式总结
    的头像 发表于 09-19 09:14 5698次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>串口</b>发送数据和接收数据方式<b class='flag-5'>总结</b>

    STM32单片机学习笔记(3):虚拟串口

    利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第三部分针对串口通信
    发表于 07-18 16:40 1960次阅读
    <b class='flag-5'>STM32</b>单片机学习笔记(3):虚拟<b class='flag-5'>串口</b>

    STM32F407 串口配置步骤

    介绍STM32F407串口配置步骤,完成串口的数据发送与接收、实现中断接收,支持printf重定向。
    的头像 发表于 07-06 14:29 1892次阅读
    <b class='flag-5'>STM32</b>F407 <b class='flag-5'>串口</b>配置步骤

    STM32CubeMX之串口接收不定长数据

    基本串口通信通常只能接收到定长数据,无法稳定接收不定长数据,本章介绍利用STM32单片机的IDLE空闲中断,接收不定长数据。使能串口1的异步串行通信模式,开启Usart1的全局
    的头像 发表于 05-11 09:59 2262次阅读
    <b class='flag-5'>STM32</b>CubeMX之<b class='flag-5'>串口</b>接收不定长数据

    数控机床编程入门

    数控机床编程入门 数控机床编程课,是数控专业的一门综合性较强的专业课,它要求学生不仅会读懂程序,还要会手工编写简单零件的加工程序。编程入门
    发表于 05-09 15:18 1285次阅读