中级会员
 
- 积分
- 202
- 金钱
- 202
- 注册时间
- 2014-9-16
- 在线时间
- 11 小时
|
5金钱
如题:从库函数的各函数可以很容易的跟踪到所操作的寄存器,
但是从库函数的结构体中怎么知道它操作的是哪个寄存器呢?
求指点?
例如:T3的输入捕获程序。
//定时器3通道4输入捕获配置
TIM_ICInitTypeDef TIM3_ICInitStructure;
void TIM3_Cap_Init(u16 arr,u16 psc)
{
TIM3_ICInitStructure.TIM_Channel = TIM_Channel_4;
TIM3_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; //上升沿捕获
TIM3_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //映射到TI1上
TIM3_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //配置输入分频,不分频
TIM3_ICInitStructure.TIM_ICFilter = 0x00;//IC1F=0000 配置输入滤波器 不滤波
TIM_ICInit(TIM3, &TIM3_ICInitStructure);
……
……
}
第一步:通过 “TIM_ICInitTypeDef TIM3_ICInitStructure;” 跟踪到如下结构体
typedef struct
{
uint16_t TIM_Channel; /*!< Specifies the TIM channel.
uint16_t TIM_ICPolarity; /*!< Specifies the active edge of the input signal.
uint16_t TIM_ICSelection; /*!< Specifies the input.
uint16_t TIM_ICPrescaler; /*!< Specifies the Input Capture Prescaler.
uint16_t TIM_ICFilter;
} TIM_ICInitTypeDef;
第二步:好像没法往下跟踪了,跟踪TIM_Channel 出现很多。
再怎么搞才能跟踪到它具体操作什么寄存器呢?
|
最佳答案
查看完整内容[请看2#楼]
必须跟踪最终的执行函数,比如:TIM_ICInit
才可以查到,你直接看库函数的结构体定义,没什么太大意义。
|