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

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

3天内不再提示

stm32串口通信流程图

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-03 11:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.写在前面

首先,你要知道STM32启动文件中启动流程,你就需要掌握一点汇编基础知识。

汇编语言属于机器语言,或者说低级语言,C语言属于高级语言,所以,汇编和C语言在语法上差异很大。

如果你学底层开发,汇编的一些基础知识需要掌握。不需要精通,但需要看懂常见的汇编代码。

2.说明

STM32的启动文件与编译器有关,不同编译器,它的启动文件不同。

虽然启动文件(汇编)代码各有不同,但它们原理类似,都属于汇编程序。

我们拿基于MDK-ARM的启动文件来举例,说一下要点内容。

3.分配堆栈

在基于MDK的启动文件开始,有一段汇编代码是分配堆栈大小的。

这里重点知道堆栈数值大小就行。还有一段AREA(区域),表示分配一段堆栈数据段。

数值大小可以自己修改,也可以使用STM32CubeMX数值大小配置:

在IAR中,是通过工程配置堆栈大小:

4.向量表

相信大家都知道向量表,先看汇编代码:

这个向量表就是对应手册中的那些内容:

我们需要知道这个地方中的复位,程序上电之后,是跳到Reset_Handler这个位置。

5.执行代码

上面知道代码是从Reset_Handler开始执行,我们看Reset_Handler汇编代码:

在启动的时候,执行了SystemInit这个函数。

之前标准外设库在SystemInit这个函数初始化了系统时钟,后面HAL库单独把那部分代码提出来了。

执行完SystemInit函数,就跳转到我们的main函数执行了。

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

    关注

    2305

    文章

    11120

    浏览量

    371138
  • 编译器
    +关注

    关注

    1

    文章

    1669

    浏览量

    51080
  • 复位
    +关注

    关注

    0

    文章

    179

    浏览量

    24966
  • 启动流程
    +关注

    关注

    0

    文章

    14

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    UWB650串口测距通信定位模块规格书

    UWB650串口测距通信定位模块规格书
    发表于 11-03 17:40 0次下载

    关于stm32f4zgt6和mspm0g3507串口通信问题

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

    STM32串口发送数据,USART_FLAG_TC无法置位怎么解决?

    STM32串口发送数据,在经过一段时间的数据发送,大概200ms发送一下,一次发送大概二三十个字节的数据,有可能会发生USART_FLAG_TC不置位的情况,如何解决或者避免?轮询发送,后卡在了
    发表于 07-29 11:44

    ESP32用作经典蓝牙串口透传模块与手机进行串口通信

    本文介绍了如何把ESP32用作一个蓝牙串口透传设备使用,其功能和常用的HC-05/06串口蓝牙设备一样。并与手机蓝牙串口APP进行双向蓝牙通信
    的头像 发表于 06-20 17:45 2099次阅读
    ESP32用作经典蓝牙<b class='flag-5'>串口</b>透传模块与手机进行<b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    PID管道仪表流程图识读方法【推荐下载】

    管道仪表流程图(P&amp;ID)又称施工流程图或工艺安装流程图。它是在方案流程图的基础上绘制而成的,是自动化工程设计的依据,亦可供施工安装和生产操作时参考。 下面是部分截
    发表于 05-22 17:30

    PL2303串口驱动

    PL2303串口驱动
    发表于 04-09 16:02 4次下载

    PL2303串口驱动win10版本用

    PL2303串口驱动win10版本用
    发表于 04-09 16:02 1次下载

    cp2102串口驱动

    cp2102串口驱动
    发表于 04-09 16:01 9次下载

    STM32串口下载软件(FLYMCU)

    STM32串口下载软件(FLYMCU),经典版本,亲试可用。
    发表于 04-09 15:59 5次下载

    STM32G4串口无法发送正确的信息是怎么回事?

    STM32G4串口无法发送正确的信息
    发表于 03-14 07:14

    STM32串口通信,上电和断电串口助手会返回数是怎么回事?

    STM32串口通信,上电和断电串口助手会返回数,是为什么呢
    发表于 03-12 07:57

    使用Labview做一个485串口电子秤程序

    232、485串口通讯是最常见的仪器仪表通讯方式之一,本文详细介绍,用Labview编写一个电子秤的485串口程序.
    发表于 03-06 18:11 0次下载

    用Labview写一个电子称的485串口程序

    关键词:Labview + 串口程序 232、485串口通讯是最常见的仪器仪表通讯方式之一,本文详细介绍,用Labview编写一个电子秤的485串口程序.
    的头像 发表于 03-06 09:54 1488次阅读
    用Labview写一个电子称的485<b class='flag-5'>串口</b>程序

    3.5英寸高清智能串口屏 8位MCU并口通信的COG裸屏 或带驱动板232串口通信的智能屏

    3.5英寸高清智能串口屏 8位MCU并口通信的COG裸屏 或带驱动板232串口通信的智能屏
    的头像 发表于 02-18 14:49 763次阅读
    3.5英寸高清智能<b class='flag-5'>串口</b>屏 8位MCU并口<b class='flag-5'>通信</b>的COG裸屏 或带驱动板232<b class='flag-5'>串口</b><b class='flag-5'>通信</b>的智能屏

    RS232串口连接方式及注意事项

    数据交换。 RS-232串口简介 RS-232标准最初由电子工业联盟(EIA)在1960年制定,用于定义串行通信的电气特性、信号定时和数据格式。RS-232串口使用25针的D型连接器(DB-25),但后来更常用的是9针的D型连接
    的头像 发表于 12-10 16:23 6581次阅读