STM32中TIM_TypeDef* TIMx,定义的是什么数据?具体如下:
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 07:01:33
STM32中TIM_TypeDef* TIMx,定义的是什么数据?具体如下:
TIM_TimeBaseInit(TIM_TypeDef* TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)这个函数中
TIM_TypeDef* TIMx定义的是什么类型的?假如输入的参数是TIM2,TIM2对应的是外设地址?被搞晕了,
TIM_TimeBaseInit(TIM_TypeDef* TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)这个函数中
TIM_TypeDef* TIMx定义的是什么类型的?假如输入的参数是TIM2,TIM2对应的是外设地址?被搞晕了,
库函数的精髓之一.
首先TIM2是一个结构体,就和我们写C语言的结构体一样,一般情况下,我们定义的结构体会有系统分配内存,放在系统堆栈当中,但是在这里:
#define TIM2 ((TIM_TypeDef *) TIM2_BASE)
定义了一个结构体变量TIM2,并且把这个结构体变量强制放在地址为TIM2_BASE的地方,我们可以查到TIM2_BASE的值为0x40000000,你可以从STM32应用文档中看到TIM2外设对应的地址:
也就是TIM2外设相关控制寄存器都在这个地址范围里面,对TIM2结构体变量成员的操作就等于对TIM2外设寄存器的操作.比如:
TIM2->CR1的地址就是0x40000000,TIM2的CR1寄存器地址也是0x40000000
TIM2->CR2的地址就是0x40000004,TIM2的CR2寄存器地址也是0x40000004
那么对TIM->CR1和TIM2->CR2的读写操作也就是对定时器2的CR1、CR2寄存器的读写操作.
再问: 谢谢!就采纳你吧,虽然还不是很明白...现在先用着先,以后应该会明白的!
首先TIM2是一个结构体,就和我们写C语言的结构体一样,一般情况下,我们定义的结构体会有系统分配内存,放在系统堆栈当中,但是在这里:
#define TIM2 ((TIM_TypeDef *) TIM2_BASE)
定义了一个结构体变量TIM2,并且把这个结构体变量强制放在地址为TIM2_BASE的地方,我们可以查到TIM2_BASE的值为0x40000000,你可以从STM32应用文档中看到TIM2外设对应的地址:
也就是TIM2外设相关控制寄存器都在这个地址范围里面,对TIM2结构体变量成员的操作就等于对TIM2外设寄存器的操作.比如:
TIM2->CR1的地址就是0x40000000,TIM2的CR1寄存器地址也是0x40000000
TIM2->CR2的地址就是0x40000004,TIM2的CR2寄存器地址也是0x40000004
那么对TIM->CR1和TIM2->CR2的读写操作也就是对定时器2的CR1、CR2寄存器的读写操作.
再问: 谢谢!就采纳你吧,虽然还不是很明白...现在先用着先,以后应该会明白的!
STM32 疑惑,#ifdef _TIM2#define TIM2 ((TIM_TypeDef *) TIM2_BASE
Stm32中宏定义是什么意思呢
stm32中如何进行位定义
stm32中使用的这个
混杂数据的定义是什么?
数据抽象的定义是什么?
stm32 的GPIO_ReadInputData(GPIOA)语句,如果管脚A有一部分管脚没定义,读回来的是什么?
STM32的STDINT.H库文件中: using ::std::int8_t; 是什么意思? ::是什么符号?请详细说
stm32中GPIO端口的复用功能怎么理解?怎么才算复用?具体怎么实现复用的呢?
物理中光学的光的色散具体是什么定义?
市场营销中6P的定义具体是什么呢?
田径赛的具体定义是什么?