STM32_新建工程(寄存器版)

文章目录

一、新建本地工程文件夹

Listing:存放编译器编译时候产生的c/汇编/链接列表清单。

Output:存在编译产生的调试信息、hex文件、预览信息、封装库等。

二、新建工程

1、选择CPU型号

2、在线添加库文件

3、添加文件

startup_stm32f10x_hd.s

启动文件,系统上电后第一个运行的程序,由汇编编写,C编程用的比较少,可暂时不管,这个文件从固件库里面拷贝而来,由官方提供。

文件在这个目录:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s。

stm32f10x.h

用户手动新建,用于存放寄存器映射的代码,暂时为空。

main.c

用户手动新建,用于存放main函数,暂时为空。

4、配置魔术棒选项卡

1)Target中选中微库" Use MicroLib",为的是在日后编写串口驱动的时候可以使用printf函数。

2)Output选项卡中把输出文件夹定位到我们工程目录下的output文件夹, 如果想在编译的过程中生成hex文件,那么那Create HEX File选项勾上。

3)在Listing选项卡中把输出文件夹定位到我们工程目录下的Listing文件夹。

三、测试代码

c 复制代码
	#include "stm32f10x.h"
	
	int main(void)
	{
	        
	        // 打开 GPIOB 端口的时钟
	        *( unsigned int * )0x40021018 |=  ( (1) << 3 );
	        
	        // 配置IO口为输出
	        *( unsigned int * )0x40010C00 |=  ( (1) << (4*0) );
	        
	        // 控制 ODR 寄存器
	        *( unsigned int * )0x40010C0C &= ~(1<<0);
	}
	
	void SystemInit(void)
	{
	        // 函数体为空,目的是为了骗过编译器不报错
	}
相关推荐
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11014 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元4 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133974 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315204 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书4 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
Alaso_shuang4 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟4 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126914 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z20348315204 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机