| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /*
- * maincpp.cpp
- *
- * Created on: 22 Jun 2022
- * Author: garth
- */
- #include "main.h"
- #include "gpio.h"
- #include "tim.h"
- #include "extra.h"
- //#include "STM_ENC28_J60.h"
- volatile uint16_t pwm1freq = 0;
- volatile uint16_t pwm1freqnew = 100;
- volatile uint16_t pwm2freq = 0;
- volatile uint16_t pwm2freqnew = 10000;
- volatile uint16_t val;
- volatile uint32_t pwm1counter;
- volatile uint32_t pwm1period;
- void maincpp()
- {
- HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
- // HAL_TIM_Base_Start_IT(&htim17);
- while(1)
- {
- if(pwm1freq != pwm1freqnew)
- {
- pwm1freq = pwm1freqnew;
- // val = (map(pwm1freq, 1, 10000, 10000, 1))-1;
- htim1.Instance->CCR1 = (pwm1freq/2);
- htim1.Instance->ARR = pwm1freq;
- }
- if(pwm2freq != pwm2freqnew)
- {
- val = (360000/pwm2freqnew)-1;
- pwm1freqnew = val;
- pwm2freq = pwm2freqnew;
- }
- }
- }
- void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
- {
- /* Prevent unused argument(s) compilation warning */
- if(htim->Instance == TIM17)
- {
- pwm1counter++;
- if(pwm1counter >= pwm1period)
- {
- HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
- pwm1counter = 0;
- }
- }
- /* NOTE : This function should not be modified, when the callback is needed,
- the HAL_TIM_PeriodElapsedCallback could be implemented in the user file
- */
- }
|