STM32的C与汇编语言混合编程(keil 5)

目录

实验1

一.设置工程环境

1.创建新工程

2.选择芯片

 3.添加设备​

二.添加文件

1.添加文件main.c

2. main.c代码

3.添加Func1.s

 4.func1.s代码

三.修改debug参数改成只运行程序

 四.编译、调试

 1.设置断点,观察每次比较时的R1和R2大小 

2.R1小于10的会不断进入i++和j++循环

3.R1大于10则跳出循环到LOOP_END 

 实验2

一.修改代码

1.main.c

2.func1.s

二.编译、调试

总结

参考文献


实验1

一.设置工程环境

1.创建新工程

工程名test3

2.选择芯片

选择STM32F103C8

 3.添加设备

二.添加文件

1.添加文件main.c

2. main.c代码

#include<stdio.h>
 
extern void Init_1(void);
 
int main(){
	
	Init_1();
	
	return 0;
	
}

3.添加Func1.s

 4.func1.s代码

	AREA	My_Function,CODE,READONLY	;这一行必有的除了My_ Function可以自己取名意以外,其它的都是模版啦
	EXPORT Init_1	;与在c文件中定义的Init_ 1函数关联起来
	;高级语言中的声明和使用变量其实是对板子寄存器的使用,所以我们只需要直接使用寄存器即可
Init_1
	MOV R1,#0	;设R1寄存器是i
	MOV R2,#0	;设R2寄存器是j
LOOP	;写在最左边的是程序段的段名,执行跳转程序时要用到
	CMP R1,#10 ;比较R1和10的大小
	BHS LOOP_END	;如果R1大于或等于10,则跳转到LoOP_ END程序段,反之忽略该语句,直接执行下面的语句
	ADD R2,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值