时钟初始化请参考上节内容。
一 初始化配置
TIM_OCxInit(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
(配置输出比较模块)
TIM_OCStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct);(此函数是给输出比较结构体赋一个默认值)
二 小功能
TIM_ForcedOC1Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction);
(配置强制输出模式 输出比较不管用了)
TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload);
(配置ccr寄存器的预装载功能)
TIM_OC1FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast);
(用来配置快速使能,在单模冲模式小节中有介绍)
TIM_ClearOC1Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear);
(在外部事件时清除ref信号中有介绍)
三 单独数据更改
TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity);
TIM_OC1NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity);
(单独修改输出比较极性,带N的是高级定时器的互补配置,OC4没有互补通道)
TIM_CCxCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCx);
void TIM_CCxNCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCxN);
(单独修改输出使能参数)
TIM_SelectOCxM(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_OCMode);
(选择输出比较模式)
TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1);
(单独更改CCR寄存器值的函数)
四 数据填入
在配置频率和占空比中所用公式
频率 Freq == CK__PSC/(PSC+1)/(ARR+1)
占空比 Duty == CCR/(ARR+1)
分辨率 Reso == 1/(ARR+1)
五 GPIO的重映射
GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState);
另外 有部分重映射和全映射,要分清楚。
重映射关系请查看 STM32f10x中文参考手册8.3复用功能i/o口调试配置。
注意:在有的I/O口是有复用功能的,在重映射之后需要关闭其服用功能。
用函数GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState);
其中有三个可选参数:GPIO_Remap_SWJ_NoJTRST
* @arg GPIO_Remap_SWJ_JTAGDisable
* @arg GPIO_Remap_SWJ_Disable
第一个参数是关闭noJTRST
第二个关闭 JTAG的
第三个是关闭 SW和JTAG的



