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)
	{
		
	}
}
相关推荐
微信153237942439 小时前
离线语音识别 ( 小语种国家都支持)可定制词组
嵌入式硬件
weixin_5088216510 小时前
1ms软延时,不用定时器,stm32
stm32·单片机·嵌入式硬件
月阳羊10 小时前
【无人机】无人机PX4飞控系统高级软件架构
嵌入式硬件·架构·系统架构·无人机
weixin_5088216511 小时前
stm32 主频216MHz,写个ms延时函数,us延时函数
stm32·单片机·嵌入式硬件
华清远见IT开放实验室11 小时前
【新书上市】《STM32嵌入式系统开发—基于STM32CubeMX和HAL库》,高校教学推荐,STM32入门必读书籍!
stm32·单片机·嵌入式硬件·虚拟仿真·必读书籍·高校教学
智木芯语11 小时前
【58】编程技巧:单片机编程命名规范
单片机·嵌入式硬件·嵌入式·#stm32·#stc8
捷配datasheet12 小时前
OP2177运算放大器:高性能模拟信号处理的关键元件
嵌入式硬件·信号处理
逼子格13 小时前
五种音频器件综合对比——《器件手册--音频器件》
嵌入式硬件·音视频·硬件工程师·硬件测试·电子器件·硬件笔试真题·音频器件
niuTaylor15 小时前
STM32平衡车开发实战教程:从零基础到项目精通
stm32·单片机·嵌入式硬件