21ic问答首页 - AT32F105如何实现PB13单独发出pwm
相关问题
- HC32F334,TIM6硬件计数使用内部事件触发,PWM通道没有翻转0 回答
- 求助:PWM外部输入信号到67%无法继续上调速度,如何解决?2 回答
- 为什么我的 PWM DMA 不起作用 是那里配置错了吗0 回答
- GD32F303定时器捕获频率出现问题8 回答
- 请问pwm驱动直流电机的续流二极管可以用肖特基二极管吗1 回答
- PY32定时器1通道2对应引脚PB3无法发PWM0 回答
- AT32F425,PA1不支持复用TMR2_CH2输出pwm吗?0 回答
- 有PWM转0-10V的小体积方案吗?方案面积越小越好12 回答
- 小白提问:有感FOC的反转可以直接更改电机相线的顺序吗0 回答
- E503R,根据捕获的PWMA产生PWMB,发现AB相位差过大1 回答
本周活跃用户
- 1
乱乱乱乱乱乱回答 7 次
- 2
dffzh回答 6 次
- 3
ldy216回答 4 次
- 4
iustitiae回答 3 次
- 5
uyuway回答 3 次
- 6
ughbss回答 3 次
- 7
linqing171回答 3 次
- 8
yueguang3048回答 3 次

问答
赞0
评论
2025-07-11
赞0
tmr_output_config_type tmr_output_struct;
tmr_brkdt_config_type tmr_brkdt_struct;
gpio_default_para_init(&gpio_init_struct);
/* add user code begin tmr1_init 1 */
/* add user code end tmr1_init 1 */
/* configure the CH1C pin */
gpio_init_struct.gpio_pins = GPIO_PINS_13;
gpio_init_struct.gpio_mode = GPIO_MODE_MUX;
gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_MODERATE;
gpio_init(GPIOB, &gpio_init_struct);
/* configure counter settings */
tmr_cnt_dir_set(TMR1, TMR_COUNT_UP);
tmr_clock_source_div_set(TMR1, TMR_CLOCK_DIV1);
tmr_repetition_counter_set(TMR1, 0);
tmr_period_buffer_enable(TMR1, FALSE);
tmr_base_init(TMR1, 499, 14);
/* configure primary mode settings */
tmr_sub_sync_mode_set(TMR1, FALSE);
tmr_primary_mode_select(TMR1, TMR_PRIMARY_SEL_RESET);
/* configure channel 1 output settings */
tmr_output_struct.oc_mode = TMR_OUTPUT_CONTROL_PWM_MODE_A;
tmr_output_struct.oc_output_state = FALSE;
tmr_output_struct.occ_output_state = TRUE;
tmr_output_struct.oc_polarity = TMR_OUTPUT_ACTIVE_HIGH;
tmr_output_struct.occ_polarity = TMR_OUTPUT_ACTIVE_HIGH;
tmr_output_struct.oc_idle_state = FALSE;
tmr_output_struct.occ_idle_state = FALSE;
tmr_output_channel_config(TMR1, TMR_SELECT_CHANNEL_1, &tmr_output_struct);
tmr_channel_value_set(TMR1, TMR_SELECT_CHANNEL_1, 250);
tmr_output_channel_buffer_enable(TMR1, TMR_SELECT_CHANNEL_1, FALSE);
tmr_output_channel_immediately_set(TMR1, TMR_SELECT_CHANNEL_1, FALSE);
/* configure break and dead-time settings */
tmr_brkdt_struct.brk_enable = FALSE;
tmr_brkdt_struct.auto_output_enable = FALSE;
tmr_brkdt_struct.brk_polarity = TMR_BRK_INPUT_ACTIVE_LOW;
tmr_brkdt_struct.fcsoen_state = FALSE;
tmr_brkdt_struct.fcsodis_state = FALSE;
tmr_brkdt_struct.wp_level = TMR_WP_OFF;
tmr_brkdt_struct.deadtime = 0;
tmr_brkdt_config(TMR1, &tmr_brkdt_struct);
tmr_output_enable(TMR1, FALSE);
tmr_counter_enable(TMR1, TRUE);
评论
2025-07-08
您需要登录后才可以回复 登录 | 注册