stm32 - 初识2

stm32 - 初识2

工程架构

  • 启动文件

中断向量表,中断服务函数,其他中断等

中断服务函数中的,复位中断是整个程序的入口,调用systeminit,和main函数

点灯程序

寄存器方式点灯

c 复制代码
#include "stm32f10x.h"

int main()
{
	/*====== 使用寄存器的方式驱动 ======*/
	/* setp 1:
	 * 设置针脚对应的GPIOX的时钟
	 * RCC 时钟使能寄存器
	 * 使能GPIOC的时钟
	 * GPIO都是APB2的外设,APB2的时钟使能寄存器是RCC_APB2ENR
	 */
	RCC->APB2ENR=0x00000010;
	
	/* setp 2:
	 * 设置IO口的模式
	 * CRH 端口配置寄存器 
	 */
	GPIOC->CRH=0x00300000;
	
	/* setp 3:
	 * 设置IO口输出数据寄存器
	 * ODR 端口输出数据寄存器 
	 */	
	GPIOC->ODR=0x00002000;

	while(1)
	{
		
	}
}

库函数的方式点灯

c 复制代码
#include "stm32f10x.h"

int main()
{
	/*====== 使用库函数的方式驱动 ======*/
	// step1 设置GPIOC对应的GPIOX的时钟
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
	
	// step2 配置IO口
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; // 通用推挽输出
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOC,&GPIO_InitStructure);
	
	GPIO_SetBits(GPIOC,GPIO_Pin_13);
//	GPIO_ResetBits(GPIOC,GPIO_Pin_13); // 设置低电平
	while(1)
	{
		
	}
}
相关推荐
姓刘的哦21 分钟前
STM32内置Flash
stm32
大爱编程♡1 小时前
STM32-USART串口
stm32·单片机·嵌入式硬件
hongmai6668882 小时前
耐高温小钢炮:ESP32-C3-MINI-1U-H4模组选型分享
笔记·单片机·嵌入式硬件·物联网·risc-v
qq_573967823 小时前
STM32问题
stm32·单片机·嵌入式硬件
a1117763 小时前
工业视觉软件入门:VisionMaster(VM)、HALCON、VisionPro
嵌入式硬件·数码相机
Kisorge3 小时前
【电机控制器】 基于STSPIN32G4的FOC控制
stm32·嵌入式硬件·算法
LCMICRO-133108477463 小时前
国产长芯微LD3092完全pin-pin替代LT3092,是一款可编程两端电流源
arm开发·单片机·嵌入式硬件·fpga开发·硬件工程·恒流源·lt3092
nuoxin1144 小时前
BL-M8812CU3 无线 WiFi 模块-富利威
人工智能·嵌入式硬件·fpga开发·硬件工程·dsp开发
z20348315204 小时前
Livox Mid-360S点云图录制
嵌入式硬件·雷达·ros2
JNX_SEMI5 小时前
Hi5000Q/H 6.5~75V宽输入——与H5227A完全对等,无缝适配现有电源方案-聚能芯-智芯官方授权一级代理
驱动开发·单片机·嵌入式硬件·物联网·硬件工程