完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、寄存器与基于固件库编程方式的差异
相对于库开发的方式,如果我们直接配置寄存器,这种方式生成的代码量是更少一点,但我们用的是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验证 |
|
|
|
只有小组成员才能发言,加入小组>>
2975 浏览 9 评论
2692 浏览 16 评论
3214 浏览 1 评论
8437 浏览 16 评论
3775 浏览 18 评论
6960浏览 6评论
求助,请问MS51FB9AE带隙电压能作为侦测的基准电压吗?
7457浏览 3评论
6957浏览 3评论
支持UART-to-BLE透传的新唐NuTool – BLE ATCMD开发工具推荐
5805浏览 3评论
9375浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-23 23:28 , Processed in 0.734365 second(s), Total 78, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号