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)
	{
	        // 函数体为空,目的是为了骗过编译器不报错
	}
相关推荐
M78佐菲7 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
无敌贵点大王9 小时前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
崇山峻岭之间13 小时前
HC32F460PETB的PB2的Vout123
单片机
恶魔泡泡糖13 小时前
stm32F103C8T6标准库串口接收之中断方式2
stm32·单片机·嵌入式硬件
充哥单片机设计13 小时前
【STM32开源项目】智能小区充电桩
stm32·单片机·嵌入式硬件·毕业设计·小区充电桩·智能小区充电桩
嵌入式-老费14 小时前
esp32开发与应用(如何解决SoC冷启动的问题)
单片机·嵌入式硬件
充哥单片机设计15 小时前
【STM32开源项目】智能语音台灯
stm32·单片机·嵌入式硬件·毕业设计·单片机设计·智能语音台灯
EatFan15 小时前
全栈自造 Status Deck(四):硬件终于到了,从点亮屏幕到跑通第一个 Demo
单片机·物联网·esp32
sunoo-22916 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Brilliantwxx17 小时前
【STM32】 SPI阻塞式通信与HAL源码 (源码分析)
stm32·单片机·嵌入式硬件