论坛首页
任务活动
问答
论坛专题
登录
注册
结合国际经验
+ 关注
粉丝
1
|
主题
64
|
回帖
773
加好友
私信
帖子
主题
回复
评论
STM32实战总结:HAL之GPIO
2023-12-28 08:55
ST MCU
49
1792
#include "myapplication.h" static void LedLight(uint8_t lednum); static void LedExtinguish(uint8_t ...
接着,在对应的c中,定义一个结构体全局变量(相应的在头文件中要声明出去),这个变量就作为一个对接人, ...
#ifndef _LED_H_ #define _LED_H_ #include "stdint.h" //确定要实现的led功能 typedef struct { / ...
思路如下: 为LED外设单独创建一个文件; 创建LED.c和LED.h,放到MyApplications中; 在myapplication.h ...
GPIO模块化编程 单片机的封装通常都是分层的。 怎么说呢? 首先,底层针对寄存器的读写时序是第一层; ...
根据英文注释不难看出来每个代码是干嘛的。 一直往下追踪,可以发现,其实底层都是对相关寄存器进行操作。 ...
再跳转到对应c中去看定义: HAL_StatusTypeDef HAL_Init(void) { /* Configure Flash prefetch */ #if ( ...
可知,其返回一个什么,可查看到返回的是一个状态码,该状态码是个枚举类型,定义在头文件stm32f1xx_hal_de ...
HAL_Init(); 看名称就知道是HAL库的初始化,那么HAL库的初始化要做哪些事情呢? 先看声明: 跳转打开了s ...
再回过头看看stm32f103xe.h的功能说明: * @file stm32f103xe.h * @author MCD Application Team ...
这是一个结构体,定义了GPIO每个端口的寄存器。 因为,结构体的指针,指向的是首元素的首地址,所以,上面 ...
typedef struct { __IO uint32_t CRL; __IO uint32_t CRH; __IO uint32_t IDR; __IO uint32_t ODR; ...
0x4000 0000 - 0x4000 03FF TIM2定时器 可知,起始地址为:0x4000 0000 上面的地址经过相加,可得出 ...
涉及到基地址加上一个数,联想到基地址加偏移量,又提到了别名区,难道是位带操作? 具体查找数据手册,看 ...
继续查找PERIPH_BASE #define PERIPH_BASE 0x40000000UL /*!< Peripheral base address in the a ...
可知,被转换的好像是个地址,一个基地址再加上一个数,继续查找基地址: #define APB2PERIPH_BASE ...
该宏定义替换后,是后面的内容,看起来像是把一个宏定义内容进行强制类型转换,那么,被转换的是什么呢?又 ...
这好像是所有外设的什么声明,具体看: 以GPIOE为例 #define GPIOE ((GPIO_TypeDef *)GPIO ...
看其描述: /** @addtogroup Peripheral_declaration * @{ */
…… /* exact-width unsigned integer types */ typedef unsigned char uint8_t; typedef unsign ...
前一页
8
9
10
11
12
13
14
后一页
2
3
近期访客