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

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

3天内不再提示

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

piaofengzai 来源: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函数

审核编辑:符乾江

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

    关注

    6078

    文章

    45629

    浏览量

    675334
  • STM32
    +关注

    关注

    2313

    文章

    11206

    浏览量

    375230
  • 编程
    +关注

    关注

    90

    文章

    3725

    浏览量

    97526
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    可以使用串口控制MP3播放的芯片

    可以使用串口控制MP3播放的芯片串口指令控制是音频芯片领域应用比较广泛的交互方式之一。相对而言纯按键方案具备布线简洁、可编程扩展、兼容性好等优势,特别适合需要和主控MCU协同工作的嵌入式场景。本篇
    的头像 发表于 04-25 11:41 265次阅读
    可以使用<b class='flag-5'>串口</b>控制MP3播放的芯片

    STM32驱动串口屏,STM32F103C8T6串口发送指令控制HMI串口

    仅是一部分常用的基础指令,更多更仔细的指令或者函数可以访问陶晶驰资料官网。 硬件和接线 硬件需要一块STM32F103C8T6的开发板,杜邦线诺干,2.4寸串口屏一块 接线 串口STM32
    的头像 发表于 02-10 17:07 728次阅读
    <b class='flag-5'>STM32</b>驱动<b class='flag-5'>串口</b>屏,<b class='flag-5'>STM32</b>F103C8T6<b class='flag-5'>串口</b>发送指令控制HMI<b class='flag-5'>串口</b>屏

    FPGA 入门必看:Verilog 与 VHDL 编程基础解析!

    很多开发者第一次接触FPGA,都会有同样的疑问:FPGA是硬件,不是软件,怎么写程序?答案就是用硬件描述语言(HDL),最常用的就是Verilog和VHDL。今天,我们就带你入门,搞清楚FPGA编程
    的头像 发表于 01-19 09:05 838次阅读
    FPGA <b class='flag-5'>入门</b>必看:Verilog 与 VHDL <b class='flag-5'>编程</b>基础解析!

    串口中断和定时中断,外部中断在一起如何调用?

    当系统有个定时中断。 比如定时采集温度值,然后通过串口发送到上位机。这样程序里要用到定时中断串口中断 比如定时1s采样一次。那么是1s内调用串口中
    发表于 01-14 06:25

    奋斗 STM32 开发板入门手册

    电子发烧友网站提供《奋斗 STM32 开发板入门手册.pdf》资料免费下载
    发表于 01-13 10:44 12次下载

    中断还是轮询?嵌入式外设驱动的最佳实践!

    入门做嵌入式开发时,很多人经常纠结:用定时器采集传感器数据,是直接while循环里轮询标志位,还是写个中断函数?串口收发数据时,是用while(!(USART_SR&RXNE))这种
    的头像 发表于 01-04 09:15 731次阅读
    <b class='flag-5'>中断</b>还是轮询?嵌入式外设驱动的最佳实践!

    串口空闲中断串口超时中断介绍

    1. 空闲中断(Idle Interrupt) 触发条件 当串口总线在接收数据后持续保持空闲状态(如高电平)超过一帧时间(即一个字符传输时间)时触发。 硬件自动检测总线空闲状态,与数据长度无关
    发表于 11-21 08:31

    E203串口中断使用总结

    一、串口中断参数设置 与STM32串口中断不同,E203的串口中断标志位是自动清零的,也就是说,只要进入了串口中断服务函数并且执行完
    发表于 10-22 07:34

    关于stm32f4zgt6和mspm0g3507串口通信问题

    本人在使用stm32f4zgt6和mspm0g3507串口通信时出现问题,情况如下: m0芯片使用软件超时解析进行数据接收,使用标准库的transmit函数进行数据发送。 stm32使用DMA+空闲
    发表于 09-01 11:11

    【教程】使用STM32F4进行E22-400T22S编程通信教程

    通过本文带大家零基础使用STM32F407VET6单片机进行E22-400T22S模块编程并进行简单的通信,当然如果学会了,也可以举一反三应用于E22、E220、E32所有模块上。一、STM32环境
    的头像 发表于 08-28 19:32 2618次阅读
    【教程】使用<b class='flag-5'>STM32F4</b>进行E22-400T22S<b class='flag-5'>编程</b>通信教程

    STM32 入门工具选型攻略:新手别再盲目入手,选对了才能少走弯路

    入门嵌入式的你是不是也经历过这样的崩溃时刻?对着STM32datasheet上密密麻麻的寄存器手册,半天看不懂“GPIO输出模式”到底是啥意思;学“中断”,书上说“这是紧急情况的处理机制”,可真到
    的头像 发表于 08-11 17:29 1105次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>入门</b>工具选型攻略:新手别再盲目入手,选对了才能少走弯路

    STM32407使用串口闲时中断+DMA方式接收最大接收字节是多少?

    使用串口闲时中断+DMA方式接收数据,波特率为460800,DMA接收长度为1024个字节,并开启串口闲时中断,当上位机一次发送520个字节,我发现
    发表于 07-22 08:16

    使用USB转TTL串口板和ST-LINK调试下载器给STM32单片机下载程序

    本文详细介绍如何使用ST-LINK/V2和USB转TTL串口板为STM32单片机下载程序,包括STM32启动模式、JTAG与SWD接口对比、驱动安装及官方软件STM32ST-LINKU
    的头像 发表于 06-20 17:26 3394次阅读
    使用USB转TTL<b class='flag-5'>串口</b>板和ST-LINK调试下载器给<b class='flag-5'>STM32</b>单片机下载程序

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4编程手册

    电子发烧友网站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4
    发表于 06-06 17:06 17次下载

    STM32F40xxx和STM32f41xx flash编程手册

    PM0081_STM32F40xxx and STM32F41xxx单片机编程手册
    发表于 06-06 17:02 8次下载