Page 468 - MDP2020-1
P. 468

|    인천전자마이스터고등학교  ·············································································································
            462

                                                                                                                                  //  PWM  타이머  1번  사용  설정
                htim1.Init.Prescaler  =  639;
                                                                                                                                  //  분주비  초기값  639
                htim1.Init.CounterMode  =  TIM_COUNTERMODE_UP;

                htim1.Init.Period  =  999;
                                                                                                                                  //  주기  초기값  999
                htim1.Init.ClockDivision  =  TIM_CLOCKDIVISION_DIV1;
                htim1.Init.RepetitionCounter  =  0;

                htim1.Init.AutoReloadPreload  =  TIM_AUTORELOAD_PRELOAD_DISABLE;
                if  (HAL_TIM_Base_Init(&htim1)  !=  HAL_OK)
                {
                    Error_Handler();
                }
                sClockSourceConfig.ClockSource  =  TIM_CLOCKSOURCE_INTERNAL;

                if  (HAL_TIM_ConfigClockSource(&htim1,  &sClockSourceConfig)  !=  HAL_OK)
                {
                    Error_Handler();
                }

                if  (HAL_TIM_PWM_Init(&htim1)  !=  HAL_OK)
                {
                    Error_Handler();
                }
                sMasterConfig.MasterOutputTrigger  =  TIM_TRGO_RESET;
                sMasterConfig.MasterSlaveMode  =  TIM_MASTERSLAVEMODE_DISABLE;

                if  (HAL_TIMEx_MasterConfigSynchronization(&htim1,  &sMasterConfig)  !=  HAL_OK)
                {
                    Error_Handler();
                }
                sConfigOC.OCMode  =  TIM_OCMODE_PWM1;

                                                                                                                                    //  PWM  OC  모드  1번  사용
            설정
                sConfigOC.Pulse  =  499;
                                                                                                                                    //  초기  펄스값  499
                sConfigOC.OCPolarity  =  TIM_OCPOLARITY_HIGH;

                sConfigOC.OCNPolarity  =  TIM_OCNPOLARITY_HIGH;
                sConfigOC.OCFastMode  =  TIM_OCFAST_DISABLE;
                sConfigOC.OCIdleState  =  TIM_OCIDLESTATE_RESET;
                sConfigOC.OCNIdleState  =  TIM_OCNIDLESTATE_RESET;
                if  (HAL_TIM_PWM_ConfigChannel(&htim1,  &sConfigOC,  TIM_CHANNEL_1)  !=

            HAL_OK)
                {
   463   464   465   466   467   468   469   470   471   472   473