Set proper prescaler and period for 100Hz
This commit is contained in:
parent
55ffaf10fa
commit
677d882bbb
|
@ -1,3 +1,4 @@
|
|||
#include <cstdio>
|
||||
#if defined(CH32V00X)
|
||||
#include <ch32v00x.h>
|
||||
#elif defined(CH32V10X)
|
||||
|
@ -59,17 +60,21 @@ int main(void) {
|
|||
|
||||
MOD_IO2::Setup();
|
||||
|
||||
bool should_blink = true;
|
||||
bool should_blink = false;
|
||||
TIM_TimeBaseInitTypeDef TimerConfig;
|
||||
while (1)
|
||||
{
|
||||
Wait_Ms(1000);
|
||||
|
||||
printf("sizeof(TimerConfig.TIM_Period): %lu \r\n", sizeof(TimerConfig.TIM_Period));
|
||||
printf("-DEBUG-PR-%08x\r\n", i++);
|
||||
if(should_blink) {
|
||||
MOD_IO2::onRegisterSet(0x41);
|
||||
MOD_IO2::onRegWrite(0x41, 0, 3);
|
||||
// MOD_IO2::onRelayOn(0x40, 0, 0x03);
|
||||
}
|
||||
MOD_IO2::onRegisterSet(0x51);
|
||||
MOD_IO2::onRegWrite(0x51, 0, 255);
|
||||
Wait_Ms(1000);
|
||||
|
||||
printf("-DEBUG-PR-%08x\r\n", i++);
|
||||
|
|
|
@ -390,14 +390,14 @@ void MOD_IO2::PWMConfig(TIM_TypeDef *TIM, uint8_t channel, uint16_t pulse) {
|
|||
TIM_CtrlPWMOutputs(TIM, DISABLE);
|
||||
|
||||
TIM_TimeBaseInitTypeDef TimerConfig;
|
||||
TimerConfig.TIM_Period = 255;
|
||||
TimerConfig.TIM_Prescaler = 608;
|
||||
TimerConfig.TIM_Period = 65535;
|
||||
TimerConfig.TIM_Prescaler = 6;
|
||||
TimerConfig.TIM_CounterMode = TIM_CounterMode_Up;
|
||||
TimerConfig.TIM_ClockDivision = TIM_CKD_DIV1;
|
||||
TIM_TimeBaseInit(TIM, &TimerConfig);
|
||||
|
||||
TIM_OCInitTypeDef TIM_OCConfig={0};
|
||||
TIM_OCConfig.TIM_Pulse = pulse;
|
||||
TIM_OCConfig.TIM_Pulse = 6553;
|
||||
TIM_OCConfig.TIM_OCMode = TIM_OCMode_PWM1;
|
||||
TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable;
|
||||
TIM_OCConfig.TIM_OCPolarity = TIM_OCPolarity_High;
|
||||
|
|
Loading…
Reference in a new issue