一,步骤
建立需要的子函数及将对应的函数在所有子函数之前声明。另一种方法是:新建一个子函数(.c)文件和头文件库(.h)文件,分别保存在用户文件夹中(这个文件夹是主函数所在的文件夹),将刚刚保存的子函数文件添加到程序文件夹中(保存在主函数所在的文件夹并不表示包含到了函数里,因此要在编程软件(即开发环境)添加,添加方法详见http://blog.youkuaiyun.com/ambizxzh/article/details/74324288)
移植的方法也可以参照上面这个链接。
二,注意
1,在配置子函数文件时,当出现多个结构体时结构体要在任何结构体元素赋值之前,也就是说对于A结构体,它必须放在A结构体、B结构体、C…等结构体的结构体元素赋值之前否则会出现错误
void TIM3_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStruct;
TIM_OCInitTypeDef TIM_OCInitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
//GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE);//端口映射,详见STM32中文参考手册p119
//定时器初始化
TIM_TimeBaseStruct.TIM_Period=899;//初值(在72M下,计数900个(内部自动加1,所以899))
TIM_TimeBaseStruct.TIM_Prescaler=0;/预分频为0,位系统频率72M
TIM_TimeBaseStruct.TIM_ClockDivision=0;
TIM_TimeBaseStruct.TIM_CounterMode=TIM_CounterMode_Up;//向上
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStruct);
//pwm 初始化
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;//模式1下,小于寄存器设定值(占空比)为高,大于为低,输出电平不同
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;//比较输出使能
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;//输出为低电平
TIM_OC2Init(TIM3,&TIM_OCInitStructure);
TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);//使能预装载寄存器,以可以多次使用
TIM_Cmd