STM32关于设计嵌入式应用系统

一、练习使用跨平台多类型代码编辑器VScode

1.安装VScode

• 方法一
直接在ubuntu商店下载安装:点击ubuntu商店->搜索visual studio code即可安装。
• 方法二
从vscode官网下载最新版本,deb包下载地址:https://code.visualstudio.com/docs?dv=linux64
使用wget 下载地址 进行下载
参考: 博主

2.配置VScode

• 安装C/C++插件
在VScode里的左边拓展(ctrl+shift+X)处搜索C/C++并安装。
在这里插入图片描述

注:建议安装Chinese Lauguage 插件(如图中所示),使软件显示为简体中文。

• 配置VScode的调试C/C++文件launch.json
在安装好了插件之后,就可以在vscode打开我们的源码文件了并且调试了,不过要注意vscode要调试的话只能打开包含源码文件的文件夹,不能打开单个文件调试。(我新建一个VScodetst文件)
在VScode中打开该文件,并新建一个test的文件夹,并在文件夹创建一个test1.c文件并编写代码:
在这里插入图片描述

• 首先点击运行->启动调试选择环境为C/C++(GDB/LLDB)。
• 然后选择配置选择gcc-生成和调试文件。
• 出现报错
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201107163153503.png#pic_center表示生成的执行文件不在创建的test文件夹中。
这里修改方法是将在tasks.json中的type类型由cppbuild改为shell。原因是cppbuild是将生成文件放入根目录,而shell是将生成文件放入当前目录下。
再次调试.c程序:在这里插入图片描述
可得到结果:hello world!
• 在launch.json中的externalConsole属性改为true可将终端显示在外部窗口。结果如下:
在这里插入图片描述
• 修改的laungch.json文件如下:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gcc - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,//改为true将终端显示在外部窗口
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: gcc build active file",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

• tasks.json文件如下:

{
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: gcc build active file",
            "command": "/usr/bin/gcc",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "/usr/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Generated task by Debugger"
        }
    ],
    "version": "2.0.0"
}

• == 在上面的创建文件夹中如果将创建的.c文件直接放入最开始创建的VScodetest文件夹下就不需要修改tasks.json中的type类型。==

二、 Proteus仿真运行stm32程序

1.proteus绘制仿真图

1.创建文件
• 点击新建工程,修改和路径名称
在这里插入图片描述
• 选择如下:
在这里插入图片描述
• 之后可以选择没有固定项目图一(我选择的是有固定项目)如果版本为8.9可以选择创建固定项目如图二
图一:
在这里插入图片描述

图二:
在这里插入图片描述

• 选择型号STM32F103R6配置好电源
在这里插入图片描述
• 添加实验所需灯,点击左边P,然后进入下图,在关键字中输入LED-YELLOW,并点击确认选中
在这里插入图片描述
• 添加实验所需电阻,点击左边P,然后进入下图,在关键字中输入RES,并点击确认选中。
在这里插入图片描述
• 添加完成后绘制图如下:
在这里插入图片描述
注意将电阻改为50

2.进入keil 5软件编写程序

• 先创建项目
在这里插入图片描述
在这里选择STM32F103R6器件。
• 创建后右键点击source group1选择ADD new…创建编写c语言代码:

#include "stm32f10x.h"
GPIO_InitTypeDef GPIO_InitStructure;
void delay_ms(uint32_t ms)
	{
		uint32_t i_cnt,j_cnt;
		for(i_cnt=0;i_cnt<3000;i_cnt++);
		for(j_cnt=0;j_cnt<ms;j_cnt++);
		
	}
uint32_t i;
int main(void)
{     
       
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOC, &GPIO_InitStructure);
 
 GPIOC->BSRR=0xff;
 
  while (1)
  {
	  for(i=0;i<8;i++)
	  {
		delay_ms(99000);
		GPIOC->BRR=(1<<i);  
		  
		delay_ms(99000);
		GPIOC->BSRR=(1<<i);
	  }
	  for(i=0;i<8;i++)
	  {
		  delay_ms(99000);
		  GPIOC->BRR=0x000000ff;
		  
		  delay_ms(99000);
		  GPIOC->BSRR=0x000000ff;
		  
	  }
    
  }
}

• 之后在目标选项中output里面勾选create hex file来创建hex文件。
之后编译构建完成。

3.进行仿真

• 进入Proteus进入之前创建的工程,双击STM32器件
在这里插入图片描述

在program file选择之前构建程序生成的hex文件,在Crystal Frequency栏设计晶振大小。
• 注如果出现如下报错:
在这里插入图片描述
• 解决方案:将VDDA 和VSSA增添到网络连接里。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201108161200622.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTgzMDk2OA==,size_16,color_FFFFFF,t_70#pic_center
• 之后运行仿真流水灯成功(随便截一张图如下):

在这里插入图片描述
• 八个全亮图:
在这里插入图片描述

三、Altium Designer软件绘制一个stm32最小系统的电路原理图

Altium Designer可自行在网上寻找下载。
此处供参考下载:Altium Designer19下载安装

1. 创建PCB原理图库

新建工程:点击文件->新的->项目->PCB工程
在这里插入图片描述
右键点击工程->保存工程

将工程保存到指定目录下。
在这里插入图片描述

新建元件库
在这里插入图片描述
绘制元件
• 在出现的白框里点击右键->放置->矩形
在这里插入图片描述
• 然后选择上方放置管脚(快捷键:p)

如图所示放置管脚成功:在管脚外侧有四个白点
在这里插入图片描述

放大缩小矩形快捷方式为CTRL加鼠标滑轮,旋转管脚快捷方式为左键放于管脚处点击空格一次旋转90度

• 放置管脚绘制完成后如图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201109180915633.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTgzMDk2OA==,size_16,color_FFFFFF,t_70#pic_center

• 继续添加元器件如图(部分器材由如图左边部分):
在这里插入图片描述

2.绘制原理图

• 点击界面右上角设置系统参数->选择Data Management项的Installed Libraries->在安装选择从文件中安装。
在这里插入图片描述
• 选择界面中的放置器件,选择自己创建的元件库中选择器件放置即可
在这里插入图片描述
之后步骤可详细参考:该博主

• 放置好后需将元件命名:

点击工具->标注->原理图标注
在这里插入图片描述

• 放置好元件后如图:
在这里插入图片描述

三、总结

1.在通过前次作业中命令行工具gdb调试基础上,学会了练习利用VScode软件调试程序来进行程序代码的跟踪查错,提高工作效率。
2.在使用Proteus对STM32的仿真可以更加让我们对于理论代码与实践仿真的结合。
3.在使用Altium Designer画stm32最小系统,学会使用了AD软件以及绘制原理图的基础。此后还需更加大力练习。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值