当前位置: 首页 > news >正文

dedecms 网站移动网站跟pc网站域名和空间有什么区别

dedecms 网站,移动网站跟pc网站域名和空间有什么区别,叶梓 wordpress 主题,成都价格网站建设服务公司本节我们带领大家学习如何新建一个寄存器库版本MDK的详细步骤#xff1b; 由于51单片机的学习时#xff0c;所涉及的寄存器很少#xff0c;所以往往几个头文件、驱动文件就可以完成相关的功能#xff0c;但是对于STM32来讲#xff0c;涉及的寄存器、头文件等都很多#…本节我们带领大家学习如何新建一个寄存器库版本MDK的详细步骤 由于51单片机的学习时所涉及的寄存器很少所以往往几个头文件、驱动文件就可以完成相关的功能但是对于STM32来讲涉及的寄存器、头文件等都很多这也是为什么32的功能强大的原因内容复杂才能功能庞大所以在建立一个完整的工程时也相对来说比较麻烦 目录 一、新建寄存器版本MDK工程 1、新建工程文件夹 1.1 新建文件夹 1.2 复制相关文件  2、新建工程框架  3、添加文件 3.1设置工程名与分组名  3.2添加启动文件 3.3添加SYSTEM文件 4、魔术棒的设置  5、添加 main.c并编写代码 二、下载验证 1、实物连接 2、实验结果 一、新建寄存器版本MDK工程 新建一个寄存器版本MDK工程分为以下5个步骤我们会分别详细介绍 1、新建工程文件夹2、新建工程框架、工程命名以及选择芯片3、添加文件4、魔术棒的设置5、添加main.c文件 1、新建工程文件夹 1.1 新建文件夹 新建工程文件夹的作用是由于32的一个工程涉及的.c、.h等功能文件很多如果把它们全部放在一个文件夹中那很容易混乱寻找哪个文件也很不方便所以我们对于文件进行分类把它按照不同为文件夹进行划分就好比51是我们小学时候班级的同学比较少不需要进行分班就能直接找到每一个同学而32是等我们上到初中了一个年级的同学就有很多这时我们就需要对这些同学进行分班按照班级寻找同学。建立文件夹的作用是一样的  我们对于32工程共分5个大的文件夹如同5各班级分别为 文件夹名称作用Drivers存放与硬件相关的驱动层文件Middlewares存放正点原子提供的中间层组件文件和第三方中间层文件Output存放工程编译输出文件Projects存放 MDK 工程文件User存放用户编写的代码如 main.c 建立完这5个文件夹后现在里面都是空的对于新手来说这5个文件夹是用来干啥的不知道为什么要分为5个文件夹不知道当然为什么这么划分我确实也不知道但是官方能给出这样的划分就说明有一定的原因我们先按照这个来进行 1.2 复制相关文件  工程根目录及其相关文件夹新建好以后我们需要拷贝一些工程相关文件过来主要是在 Drivers 文件夹里面以便等下的新建工程需要。 我们进入Drivers 文件夹现在里面没有文件夹我们先建立一个BSP 文件夹用于存放正点原子提供的板级支持包驱动代码如LED、蜂鸣器、按键等。 本章我们暂时用不到该文件夹不过可以先建好备用。 然后是CMSIS文件夹用于存放 CMSIS 底层代码ARM 和 ST 提供如启动文件.s 文件、 stm32f1xx.h 等各种头文件。该文件夹我们可以直接从 STM32CubeF1 固件包因此我们根据实际情况对其进行了大幅精简精简后的 CMSIS 文件夹大小为 1MB 左右 最后是SYSTEM 文件夹用于存放正点原子提供的系统级核心驱动代码如sys.c、delay.c 和 usart.c 等方便大家快速搭建自己的工程。这里我给大家提供这个文件夹大家对应着CV就行 链接https://pan.baidu.com/s/1_XOo_-zhc5Kwsu8Oo7uuIQ  提取码1022 这样文件拷贝就完成了总共在 Drivers 文件夹建立三个文件夹BSP 文件夹、CMSIS文件夹、SYSTEM 文件夹其中BSP 文件夹为空文件夹其余两个是复制粘贴得来的 文件夹名称BSP存放开发板板级支持包驱动代码如各种外设驱动CMSIS存放 CMSIS 底层代码如启动文件.s 文件、stm32f1xx.h 等SYSTEM存放正点原子系统级核心驱动代码如 sys.c、delay.c 和 usart.c 等 最后我们还需要再Project文件中新建一个MDK-ARM 文件夹用于存放 MDK 的工程文件 2、新建工程框架  新建工程框架就是新建一个工程在这个工程中进行操作也可以实现一个项目一个功能等等 首先打开 MDK 软件。然后点击 Project→New uVision Project 然后设置工程的路径与名称 工程路径就选择我们上节新建在Project中的文件MDK-ARM 文件夹; 工程名字自行选择好记就行 保存后下一步就是对应的芯片选型此处对应自己的芯片选型即可 在选好芯片后界面会弹出这样的页面我们不需要管关闭即可 然后就会在主界面显示这个内容表明新建工程框架完成 最后我们看一下新建完工程后在第一节中新建的文件夹中有什么变化呢 在开 MDK-ARM 文件夹会看到 MDK 在该文件夹下自动创建了 2 个文件夹 Listings 和 Objects以及生成.uvprojx文件这个文件就是新建的工程文件而Listings文件夹用于存放编译过程产生的链接列表等文件Objects文件夹用于存放编译过程产生的调试信息、.hex、预览、.lib 文件等我们后面回把输出在 Listings 和 Objects 文件夹的内容统一改为输出到 Output 文件夹不按照他这个进行输出此处需要注意一下下 3、添加文件 添加文件的作用是什么呢我们在建立完一个工程后需要用到这个工程32的功能比较复杂我们需要添加一些已经封装好的函数文件.c、.h等等 同样由于涉及的文件较多我们需要在工程内部对所添加的文件进行分类 注意第一节是对文件在外部文件夹中分类这节是对文件在工程内部进行分类 分为三个步骤1、设置工程名与分组名也就是分班2、添加启动文件3、添加SYSTEM源码 3.1设置工程名与分组名  在 Project→Target 上右键选择 Manage Project Items…方法一或在菜单栏点击品字形 红绿白图标方法二进入工程管理界面。 在工程管理界面我们可以执行设置工程名字Project Targets、分组名字Groups以 及添加每个分组的文件Files等操作。 我们设置工程名字为Template并设置四个分组 Startup存放启动文件、User存放 main.c 等用户代码、Drivers/SYSTEM存放系统级驱 动代码、Readme存放工程说明文件 这里我们只是新建了一个简单的工程并没有添加 BSP、Middlewares 等分组后面随着工 程复杂程度的增加我们需要一步步添加对应的分组使内外分组进行一致 3.2添加启动文件 启动文件.s 文件包含 STM32 的启动代码其主要作用包括1、堆栈SP的初始化 2、初始化程序计数器PC3、设置向量表异常事件的入口地址4、调用 main 函数等是每 个工程必不可少的一个文件。当然这些话使看不懂的不过没事这会看不懂是很正常后面学习到对应的章节就能够看的懂了 启动文件的位置就在我们第一节赋值的CMSIS简介版文件夹中Drivers→CMSIS→Device→ST→STM32F1xx→ Source→Templates→arm 文件夹下我们开发板使用的是 STM32F103ZET6对应的启动文 件为startup_stm32f103xe.s。 如何添加启动文件呢 如上图所示按照上面步骤进行添加双击Startup文件夹选择对应的外部文件夹选择文件类型为ALL,选中文件添加 添加完后为了更好的匹配寄存器版本代码我们对 startup_stm32f103xe.s 做了 2 处修改 1我们用不到编译器的内存管理函数为节省内存将 Heap_Size 改成 0源码如下 ;未用到编译器自带的内存管理(malloc,free 等)设置 Heap_Szie 为 0 Heap_Size EQU 0x00000000  2、寄存器代码不需要调用 SystemInit 函数因此修改 Reset_Handler 函数去掉 SystemInit 调用源码如下 Reset_Handler PROC EXPORT Reset_Handler     [WEAK] IMPORT __main ; 寄存器版本代码因为没有用到 SystemInit 函数所以注释掉以下代码为防止报错 ;HAL 库版本代码建议加上这里提供 SystemInit 函数以初始化 stm32 时钟等。 ;IMPORT SystemInit ;LDR R0, SystemInit ;BLX R0 LDR R0, __main BX R0 ENDP 3.3添加SYSTEM文件 在我们工程里面由Drivers/SYSTEM的文件夹注意这个不是或的意思这是Drivers文件夹下的文件夹SYSTEM我们前面对SYSTEM进行了复制就是百度网盘中的文件这会需要添加进来。如果之前没拷贝是找不到这些源码的。 4、魔术棒的设置  为避免编写代码和编译报错我们需要通过魔术棒对 MDK 工程进行相关设置。在 MDK 主界面魔术棒图标即 Options for Target 按钮 Target 选项卡设置使用编译器的版本外部晶振Output 选项卡设置输出文件夹、生成.hex文件、输出浏览信息Listing 选项卡设置Listing输出文件C/C选项卡设置全局宏定义优化等级Debug 选项卡设置使用的仿真器下载接口Utilities 选项卡添加分散加载实验 1、Target 选项卡 外部晶振频率为 8Mhz。 2、Output 选项卡 勾选Browse Information用于输出浏览信息这样就可以使用 go to definition 查看函数/变量的定义对我们后续调试代码比较有帮助如果不需要调试代码则可以去掉这 个勾选以提高编译速度。  Select Folder Objects,为选择输出的文件夹我们在第一节说过建立的5个文件夹中Output就是用来存放输出的文件这里我们需要对应的选择而且在这里我们还需要选择创建.hex文件即十六进制文件因为往单片机里传输的文件就是.hex文件 3、Listing 选项卡 同样我们将Listing 的输出文件也放在我们设置的Output文件夹中去 4、C/C选项卡  全局宏定义STM32F103xE用于定义所用 STM32 型号在 stm32f1xx.h 里 面会用到该宏定义。 设置了优化等级为-O0可以得到最好的调试效果当然为了提高优化效果提升性能 并降低代码量可以设置-O1~-O3数字越大效果越明显不过也越容易出问题。注意当使用 AC6 编译器的时候这里推荐默认使用-O1 优化。 C99 模式即使用 C99 C 语言标准。 进行头文件包含路径设置。 头文件的包含路径共有以上四个此处用到的是相对路径并非绝对路径 绝对路径是指目录下的绝对位置直接到达目标位置通常是从盘符即C\D盘等开始的路径。  相对路径是指由某个文件所在路径引起的跟其他文件或文件夹的路径关系 直接路径简单来说就是由明确的路径根据其能直接找到对应的文件例如 F:\51单片机\【正点原子】精英STM32F103开发板 V2-资料盘(A盘)\8STM32参考资料\8STM32参考资料\1STM32CubeF1固件包 相对路径就是在一个文件初始路径的基础上进行上一层目录。或者下一层进行的一种关系“../”表示当前目录的上一层目录“./”表示当前目录而我们默认的初始路径为MDK 工程所在的路径即.uvprojx 文件所在路径。所以上面的路径前面都有../。 5、设置Debug 选项卡 设置对应的仿真器我使用的是ST-LINK仿真器大家选择合适对应的即可 6、Utilities 选项卡 按照上面设置为对应的选项 5、添加 main.c并编写代码 在 MDK 主界面新建一个 main.c 文件并保存在 User 文件夹下。然后双击 User 分组弹出添加文件的对话框将 User 文件夹下的 main.c 文件添加到 User 分组下。并在main.c文件中加入下面的代码 #include ./SYSTEM/sys/sys.h #include ./SYSTEM/usart/usart.h #include ./SYSTEM/delay/delay.h int main(void) {uint8_t t 0;sys_stm32_clock_init(9); /* 设置时钟, 72Mhz */delay_init(72); /* 延时初始化 */ usart_init(72, 115200); /* 串口初始化 */while (1){printf(t:%d\r\n, t);delay_ms(500);t;} }编写完 main.c 以后我们点击Rebuild按钮编译整个工程编译结果如图 所示 如果有一个警告在最后一行敲一行空行即不要让代码成为最后一行  并且在Output中生成了.hex文件可以直接传给单片机 二、下载验证 此处我们采用的是ST-LINK进行下载 1、实物连接 点击下载底部会显示下载成功的标志 2、实验结果 在用ST-LINK进行下载后将串口同单片机以及电脑连接这是一个有关串口的实验现象通过串口向单片机发送数据 连接方式如下 新建MDK文件 总结写到此处第一个MDK工程已经创建完毕当然这是一个漫长而又繁琐的过程多少人都很难坚持下来。而且往往看第一遍的时候总是耐不下心觉得很难、很烦很啰嗦这是每个人都会遇到的但是只要你坚持看完第一遍再去第二遍看的时候就会熟悉很多再到第三遍这或许就是学习的过程吧。 本文大多数内容参考的是正点原子STM32F103 开发指南特此说明 创作不易还请大家多多点赞支持
http://www.zqtcl.cn/news/444108/

相关文章:

  • 大家都在哪些网站上做医药招商wordpress po文件
  • 国外主题网站兰州app
  • 建设项目自主验收公示网站dedecms英文外贸网站企业模板下载
  • 做网站要服务器吗前端企业网站开发
  • 用html写一个个人介绍多网站怎么做seo
  • 做网站打广告犯法吗中国建设投资集团 网站首页
  • 怎么免费申请个人网站职业技能培训有哪些
  • 小型的企业网站湖南备案网站建设方案书
  • 现在做网站公司seo怎么做教程
  • asp化妆品网站windows优化大师有必要安装吗
  • 网站流量分析系统制作图片网站
  • 做网站技术路线广州番禺发布公众号
  • 企业网站自己可以做吗服装网站建设的利益分析
  • 网站做软件居众装饰集团有限公司
  • 南山网站制作联系电话芒果国际影城星沙店
  • 珠海网站设计费用建企业版网站多久
  • linux 网站搬家wordpress 卸载plugin
  • 江苏省建设厅网站 投诉编辑网站的软件手机
  • 深圳地图各区分布图seo网络优化师就业前景
  • 北京网站备案代理国家企业信用信息公示系统广东
  • 推销网站重庆网站优化公司哪家便宜
  • 外贸公司网站搭建礼品网站建设
  • 网站建设 今晟网络中国制造网官网登录
  • 东莞网站设计如何常州做网站设计
  • php网站数据库修改网站备案有必要吗
  • 电商会学着做网站呢WordPress又拍云cdn
  • 网站健设推广产品多少钱网站规划有什么意义
  • 诚信网站备案中心内江网站建设新闻
  • 品牌形象网站有哪些百度应用中心
  • 网站建设找什么工作室甜点网站建设的功能及意义