STM32F103C8T6测试点亮小灯
目录
代码
#include "stm32f10x.h" // Device header
int main(void){
// 寄存器操作,stm32有很多寄存器,操作不方便,推荐使用标准库或HAL库
// RCC->APB2ENR = 0x00000010;
// GPIOC->CRH = 0x00300000;
// GPIOC->ODR = 0x00002000;
//注意:步骤二中,需引用一个结构体变量,C语言中变量创建,要在执行语句前
GPIO_InitTypeDef GPIO_InitStructure;
/* 第一步开启使能时钟 */
// 参数1:选择外设 参数2:选择新的状态 选择GPIOC是因为现在要控制的引脚是PC13,而PC13对应的GPIOC
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
/* 第二步:配置端口模式 */
//参数1 GPIOx 参数2 GPIO_InitTypeDef结构体
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){
}
/*
User:
conf.h 配置库函数头文件的包含关系,以及用来参数检查的函数定义,这是所有库函数都需要的。
it 用来存放中断函数
*/
/*
启动文件Start
STM32F10x.s
里面定义了STM32的堆栈大小,以及各种中断的名字及入口函数名称,还有启动相关的汇编代码。
STM32F10x.s是MDK提供的启动代码,从里面的内容来看,它只定义了3个串口,4个定时器。
实际上STM32的系列产品有5个串口的型号,最多有8个定时器。
要根据MCU类型以及其Flash(ROM)存储器大小来选择对应的启动文件。
*/
/*
固件库文件,可以在STM的官网下载
封装了各种类型及模块的配置文件以及各功能模块的配置以及使用。
类似于API,更少的接触底层,就可以写出程序。
虽然固件库封装了底层接口,但是作为硬件开发的软件工程师,还是要多看看MCU的datasheet,
只有熟悉了底层,才能写出更高效的程序。
文件目录:
_thmresc:ST的logo,无用,不用理会。
Libraries:包含STM32的系统文件和大量头文件,也就是库文件
Project:包含大量外设的例程和各个软件版本的评估版工程模板。
KEIL对应的就是MDK-ARM文件下的工程模板。
开发者也可以利用这个工程模板来修改,得到自己的工程模块。
Utilities:评估版的相关文件
对于每一个固件库的函数可以在网络上下载V3.5固件库的说明书,详细查看
*/
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具