频率的计算
1、 ARR(TIM_Period)
是计数值;
2、 PSC(TIM_Prescaler)
是预分频值。
频率计算公式:Fpwm = 主频 / ((ARR+1)*(PSC+1))(单位:Hz)
占空比的计算
计算公式:duty circle = TIM3->CCR2 / ARR(单位:%)
占空比 = (通道1的占空比值 /( 自动重装载值+1)) * 100%
和下面一个意思
Duty = A/(N+1)
N = Timer装载值
A = TIMER_CHxCV,即timer_channel_output_pulse_value_config的最后一个参数
例如:
timer_initpara.period = 999; // 自动重装载值
timer_channel_output_pulse_value_config(TIMER1, TIMER_CH_1, 500); // 通道1的占空比设定为500
ADC的计算 :
advalue/(2^bit)=X/Vref
`sync_mode` 参数用于配置 ADC 的同步模式(Sync Mode)。以下是各个模式的说明:
- `ADC_SYNC_MODE_INDEPENDENT`:各个 ADC 独立工作,没有同步关系。
- `ADC_DAUL_REGULAL_PARALLEL_INSERTED_PARALLEL`:组合常规并行和插入并行模式。
- `ADC_DAUL_REGULAL_PARALLEL_INSERTED_ROTATION`:组合常规并行和触发旋转模式。
- `ADC_DAUL_INSERTED_PARALLEL`:插入并行模式。
- `ADC_DAUL_REGULAL_PARALLEL`:常规并行模式。
- `ADC_DAUL_REGULAL_FOLLOW_UP`:跟随模式。
- `ADC_DAUL_INSERTED_TRIGGER_ROTATION`:触发旋转模式。这些选项用于配置多个 ADC 之间的工作模式和同步方式。通过选择不同的同步模式,可以实现多个 ADC 之间的协同工作和数据采集方式。具体选择哪个同步模式取决于应用的需求和系统架构。
请注意,根据代码注释中的描述,`sync_mode` 参数只能选择其中一个选项,不能同时选择多个选项。
ADC触发由PWM上升沿引起(硬件触发)
/* adc 使用TIM1 的CH1 的上升沿触发*/
adc_external_trigger_source_config(ADC0, ADC_REGULAR_CHANNEL, ADC0_1_EXTTRIG_REGULAR_T1_CH1);