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 分钟前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
嵌入式大圣2 小时前
单片机结合OpenCV
单片机·嵌入式硬件·opencv
日晨难再3 小时前
嵌入式:STM32的启动(Startup)文件解析
stm32·单片机·嵌入式硬件
yufengxinpian4 小时前
集成了高性能ARM Cortex-M0+处理器的一款SimpleLink 2.4 GHz无线模块-RF-BM-2340B1
单片机·嵌入式硬件·音视频·智能硬件
__基本操作__5 小时前
历遍单片机下的IIC设备[ESP--0]
单片机·嵌入式硬件
网易独家音乐人Mike Zhou11 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
zy张起灵11 小时前
48v72v-100v转12v 10A大功率转换电源方案CSM3100SK
经验分享·嵌入式硬件·硬件工程
PegasusYu14 小时前
STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组
stm32·教程·rtos·stm32cubeide·free-rtos·eventgroup·时间标志组
lantiandianzi18 小时前
基于单片机的多功能跑步机控制系统
单片机·嵌入式硬件
文弱书生65618 小时前
输出比较简介
stm32