stm32f103zet 新建工程步骤与软件仿真调试

1、新建项目、选型stm32f10x的芯片。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面是芯片的介绍
在这里插入图片描述
新建后如下
在这里插入图片描述

2、添加组,在组中添加相应的文件。

新建完项目后添加组,添加CODE,USER,STM32LIB。
在工程目录下创建相应的文件夹,在文件夹中添加相应的代码文件。
在这里插入图片描述

2.1 CODE组中加入core_cm3.c内核核心文件、startup启动文件。

在这里插入图片描述
startup启动文件是汇编文件,其中有一语句:IMPORT SystemInit。SystemInit()函数写在了system_stm32f10x.c文件中。

2.2 USER组中加入main.c主函数文件、stm32f10x.it.c中断文件,system_stm32f10x.c系统初始化文件。

在这里插入图片描述
main.c中要写一个int main(void){return 0;}的空函数
stm32f10x.it.c中断文件,其中定义了各种中断服务函数。
startup_stm32f10x_hd.s文件中,调用了一个叫SystemInit的函数,该函数其实在system_stm32f10x.c中定义,旨在初始化系统时钟、初始化外部SRAM、设置中断向量表地址。

2.3 STM32LIB组中加入需要使用到的库函数

注意:使用库函数得在C/C++中Define添加一语句。(暂不知缘由)

STM32F10X_HD,USE_STDPERIPH_DRIVER

在这里插入图片描述

2.4 包含头文件的路径

在这里插入图片描述
选择头文件所在的文件夹
在这里插入图片描述

3、build或rebuild构建项目,看是否有错误。

在这里插入图片描述
无error,warning 由main.c的函数代码的wile(1)造成的,可略。
在这里插入图片描述

4、使用软件仿真,观察现象。

4.1main.c输入代码,并且rebuild项目。

#include "stm32f10x.h"

int main(void)
{
	GPIOA->CRL = 0x03;//0x00000033前面的零是可以省略的
	GPIOA->CRH = 0x03;
	while(1)
	{
		if((GPIOA->IDR&0x0100) == 0x0100)
			GPIOA->ODR |= 0x0001;
		else
			GPIOA->ODR &= 0x0000;
	}
}

4.2 修改debug设置。

在Debug那个选项卡里,我们选择Use Simulator,使用软件进行调试
修改Dialog.DLL,Parameter。

DARMSTM.DLL,-pSTM32F103ZE
TARMSTM.DLL,-pSTM32F103ZE

在这里插入图片描述

4.3 进入调试。

i.启动调试

设置完毕后,我们可以在菜单栏找到这个放大镜的图标,点击启动调试.
在这里插入图片描述

ii.步进观察现象。

进入到调试界面。
可以看到程序已进入正常的调试模式运行,这个时候程序是不会自动的去运行的,需要我们点击下一步的按钮才会一步一步的去执行。
在这里插入图片描述
在外设中选择GPIOA.
在这里插入图片描述
弹出GPIOA的相关外设调试窗口。
在这里插入图片描述
点击步进,执行一条语句。
在这里插入图片描述
可以观察到CHL发生了改变。
在这里插入图片描述
继续按步进,根据自己的代码观察仿真结果。
工程代码连接:keil5stm32f10x软件仿真工程

iii.其他

我们点击菜单栏的watch图标,可以选择一个查看窗口,我们这里选择watch1就好了
在这里插入图片描述
在这里可以查看任意变量的值,你可以在下面输入你想查看的变量回车就好了方便我们追踪发现错误
在这里插入图片描述
在软件的最左边是寄存器的变量值,方便我们随时查看寄存器值是否正确在上面的菜单栏那一行

第一个是复位按钮,按下后程序会进行复位操作
第二个直接运行,就像我们平时一样,程序自动的由上自下的运行,一般我们都会加断点进行调试加断点直接双击当前行就可以了
第三个X是停止运行
后面的都是单步运行,具体的进入或跳出请看图示

如何使用keil进行软件的程序调试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值