Fixed PWM mode
This commit is contained in:
@@ -10,6 +10,11 @@ GPIO_Key gpios[6] = {
|
||||
GPIO_Key::A7,
|
||||
};
|
||||
|
||||
bool isAlarmBeeping = false;
|
||||
bool isCalibrateButtonHigh = false;
|
||||
|
||||
uint16_t sensorThresholds[6] = {4096,4096,4096,4096,4096,4096};
|
||||
|
||||
void timer2callback(){
|
||||
|
||||
uint16_t val[6];
|
||||
@@ -26,8 +31,24 @@ void timer2callback(){
|
||||
|
||||
}
|
||||
|
||||
void b0PWM(){
|
||||
PIN(B0).toggle();
|
||||
void PWMToggle(){
|
||||
|
||||
if(!isAlarmBeeping){
|
||||
SHAL_TIM1.start();
|
||||
}
|
||||
else{
|
||||
SHAL_TIM1.stop();
|
||||
}
|
||||
isAlarmBeeping = !isAlarmBeeping;
|
||||
}
|
||||
|
||||
void buttonCallback(){
|
||||
|
||||
}
|
||||
|
||||
void calibrateSensors(){
|
||||
PIN(B3).setHigh();
|
||||
SHAL_TIM7.stop();
|
||||
}
|
||||
|
||||
int main() {
|
||||
@@ -44,7 +65,10 @@ int main() {
|
||||
PIN(A6).setPinMode(PinMode::ANALOG_MODE);
|
||||
PIN(A7).setPinMode(PinMode::ANALOG_MODE);
|
||||
|
||||
PIN(B0).setPinMode(PinMode::OUTPUT_MODE);
|
||||
PIN(B0).setAlternateFunction(GPIO_Alternate_Function_Mapping::B0_TIM1CH2N);
|
||||
|
||||
PIN(B6).setPinMode(PinMode::INPUT_MODE);
|
||||
PIN(B6).useAsExternalInterrupt(TriggerMode::RISING_FALLING_EDGE,buttonCallback);
|
||||
|
||||
SHAL_TIM2.init(4000000,400);
|
||||
|
||||
@@ -52,11 +76,23 @@ int main() {
|
||||
SHAL_TIM2.enableInterrupt();
|
||||
SHAL_TIM2.start();
|
||||
|
||||
SHAL_TIM6.init(4000000,1);
|
||||
SHAL_TIM6.setCallbackFunc(b0PWM);
|
||||
SHAL_TIM1.init(300,999);
|
||||
SHAL_TIM1.setPWMMode(SHAL_Timer_Channel::CH2,SHAL_TIM_Output_Compare_Mode::PWMMode1,SHAL_Timer_Channel_Main_Output_Mode::Disabled,SHAL_Timer_Channel_Complimentary_Output_Mode::Polarity_Reversed);
|
||||
SHAL_TIM1.setPWMDutyCycle(499);
|
||||
SHAL_TIM1.start();
|
||||
|
||||
SHAL_TIM6.init(4000000,400);
|
||||
SHAL_TIM6.setCallbackFunc(PWMToggle);
|
||||
SHAL_TIM6.enableInterrupt();
|
||||
SHAL_TIM6.start();
|
||||
|
||||
SHAL_TIM7.init(4000000,3000);
|
||||
SHAL_TIM7.setCallbackFunc(calibrateSensors);
|
||||
SHAL_TIM7.enableInterrupt();
|
||||
|
||||
PIN(B3).setPinMode(PinMode::OUTPUT_MODE); //Test
|
||||
|
||||
while (true) {
|
||||
SHAL_UART2.sendString("HELLO\r\n");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user