Keil5代码烧写后STM32单片机需要手动复位问题解决方法

很多同学CubeMX生成的keil工程代码烧写后都需要手动复位,单片机才能运行。
是keil工程配置有问题,按照下图修改完重新编译即可!
1、选魔术棒
在这里插入图片描述
2、在这里插入图片描述
3
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/39a38406019a4786b5e8f5fdd9fc1654.png3、[图片]

4、
在这里插入图片描述

单片机学习常见问题总结

我总结了51单片机和STM32单片机学习经碰到的问题,都在下面的链接里,有需要的同学可以自行保存。
51单片机部分:
https://f1457x17jj4.feishu.cn/wiki/C543w1FA3ilJf4kCkvzchYC0nPg?from=from_copylink
STM32单片机部分:
https://f1457x17jj4.feishu.cn/wiki/ACFnwh84CipfnzkXduZcGH31nzf?from=from_copylink

当使用Keil软件进行流水灯复位的汇编程序编写时,可以按照以下步骤进行: 1. 首先,需要定义一些常量和变量来控制流水灯的状态和延时时间。例如,可以定义一个变量来表示流水灯的当前状态,以及一个常量来表示延时时间。 2. 接下来,需要初始化流水灯的状态和延时时间。可以使用MOV指令将初始值加载到相应的寄存器中。 3. 然后,使用循环结构来实现流水灯的移动和延时。可以使用循环标签和条件分支指令来控制流水灯的移动和延时。 4. 在每次循环迭代中,需要更新流水灯的状态和延时时间。可以使用MOV指令将新的状态和延时时间加载到相应的寄存器中。 5. 最后,需要添加适当的延时指令来控制流水灯的闪烁速度。可以使用NOP指令或者循环指令来实现延时。 下面是一个简单的Keil流水灯复位的汇编程序示例: ``` ; 定义常量和变量 DELAY_TIME EQU 1000 ; 延时时间 LED_STATUS EQU 0x5000 ; 流水灯状态寄存器 ; 初始化流水灯状态和延时时间 MOV R0, #0 ; 初始状态为0 MOV R1, #DELAY_TIME ; 初始延时时间 LOOP: ; 更新流水灯状态和延时时间 MOV R2, R0 ; 将当前状态保存到临时寄存器 ADD R2, #1 ; 状态加1,实现流水灯移动 MOV R0, R2 ; 将新的状态保存到状态寄存器 ; 控制流水灯的移动和延时 MOV LED_STATUS, R0 ; 更新流水灯状态 DELAY: SUB R1, #1 ; 延时时间减1 CMP R1, #0 ; 检查延时时间是否为0 BNE DELAY ; 如果延时时间不为0,则继续延时 B LOOP ; 跳转到循环开始处,实现流水灯的循环闪烁 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值