单片机学习小组
登录
直播中
骨灰级发烧友
12年用户
673经验值
私信
关注
如何完成STM32的USART窗口通讯实验
开启该帖子的消息推送
STM32
USART
固件库
寄存器与基于固件库编程方式的差异在哪?
如何完成
STM32
的USART窗口通讯实验?
回帖
(1)
李子邯
2022-2-24 15:03:06
一、寄存器与基于固件库编程方式的差异
相对于库开发的方式,如果我们直接配置寄存器,这种方式生成的代码量是更少一点,但我们用的是stm32,这就不一样了,因为stm32 的资源是充足的,所以我们可以也愿意牺牲CPU 资源来投入库开发。而我们也发现固件库编写方式更为简单,连我这种新人理解也很容易,网上这方面的资料也更多。
二、STM32的USART窗口通讯
1.准备
和之前的实验一样,我们用到了如下工具设备:
高速仿真器
野火指南者STM32F103VET6高速版
keil5
串口调试助手Fire Tools(v1.0.1.5)
USBQ驱动CH340(只有开发板串口有驱动,仿真器不用安装驱动)
2.实验
像之前一样,连好设备,确认好设备无误后,打开开关。
还是要注意串口这个地方的链接!不然要出大问题:
安装USB转串口驱动CH340(在自己买的开发板的店铺找相关资料)
安装串口多功能调试助手Fire Tools
这个是跟我的开发板配套的调试助手
直接点击就用
串行口调试设置波特率为115200,1位停止位,无校验位
然后我们打开相应工程,如下图
这是学习资料里自带的工程,现在我们进行一些修改
上图是修改的main.c和stm32f10x_it.c
现在进行编译,没有问题
点击魔术棒进行配置
研究了一下,发现SWJ其实两个选择都可以,因为是高速仿真器,配置完成。现在进行调试和烧录。
烧录成功!现在来看结果。
完成
三.C语言程序里全局变量、局部变量、堆、栈
我们可以把内存作为4个分区:栈、堆、全局(静态)存储区和常量存储区
1.栈、堆、全局(静态)存储区和常量存储区
(一)栈
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
(二)堆
堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。
(三)全局/静态存储区
可以理解为全局变量和静态变量被分配到同一块内存中
(四)常量存储区
和“全局/静态存储区”差不多,只不过存放的是常量
2.ubuntu系统中编程
创建.c文件,并用gcc执行,结果
3.keil验证
一、寄存器与基于固件库编程方式的差异
相对于库开发的方式,如果我们直接配置寄存器,这种方式生成的代码量是更少一点,但我们用的是stm32,这就不一样了,因为stm32 的资源是充足的,所以我们可以也愿意牺牲CPU 资源来投入库开发。而我们也发现固件库编写方式更为简单,连我这种新人理解也很容易,网上这方面的资料也更多。
二、STM32的USART窗口通讯
1.准备
和之前的实验一样,我们用到了如下工具设备:
高速仿真器
野火指南者STM32F103VET6高速版
keil5
串口调试助手Fire Tools(v1.0.1.5)
USBQ驱动CH340(只有开发板串口有驱动,仿真器不用安装驱动)
2.实验
像之前一样,连好设备,确认好设备无误后,打开开关。
还是要注意串口这个地方的链接!不然要出大问题:
安装USB转串口驱动CH340(在自己买的开发板的店铺找相关资料)
安装串口多功能调试助手Fire Tools
这个是跟我的开发板配套的调试助手
直接点击就用
串行口调试设置波特率为115200,1位停止位,无校验位
然后我们打开相应工程,如下图
这是学习资料里自带的工程,现在我们进行一些修改
上图是修改的main.c和stm32f10x_it.c
现在进行编译,没有问题
点击魔术棒进行配置
研究了一下,发现SWJ其实两个选择都可以,因为是高速仿真器,配置完成。现在进行调试和烧录。
烧录成功!现在来看结果。
完成
三.C语言程序里全局变量、局部变量、堆、栈
我们可以把内存作为4个分区:栈、堆、全局(静态)存储区和常量存储区
1.栈、堆、全局(静态)存储区和常量存储区
(一)栈
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
(二)堆
堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。
(三)全局/静态存储区
可以理解为全局变量和静态变量被分配到同一块内存中
(四)常量存储区
和“全局/静态存储区”差不多,只不过存放的是常量
2.ubuntu系统中编程
创建.c文件,并用gcc执行,结果
3.keil验证
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
USART
固件库
分享一个不错的
STM32
F1串口
通讯实验
2021-12-16
815
基于
stm32
的串口
通讯实验
过程是怎样的
2021-09-29
1032
求大佬分享
STM32
的
USART
窗口
通讯
程序
2022-02-10
601
如何
完成
STM32
的
USART
串口
通讯
程序?
2022-02-10
845
怎样去
完成
STM32
的
USART
串口
通讯
程序
2021-09-28
1200
如何对
stm32
与matlab进行
通讯实验
呢
2021-11-18
976
如何去实现在
STM32
的
USART
窗口
通讯
程序呢
2021-12-01
657
STM32
串口
通讯实验
中配置正确可是调试不出结果???
2014-03-28
2667
STM32
的
USART
窗口
通讯
程序该如何去实现呢
2021-12-07
1033
求大佬分享在
STM32
的
USART
窗口
通讯
程序
2021-12-02
489
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分