完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我有点卡在让 mcpwm 捕获在我的 ESP32-WROON 中正常工作...esp-idf v3.3.4 commit cded0f5aa(我知道,老玩具!)。但真的很感谢这方面的任何帮助。
我打算使用 mcpwm 的捕获模式读取 2x 霍尔传感器输出,我设法为其中一个上限输入正确生成中断,但第二个不会触发 isr 处理程序。 我检查了基础知识 - 信号正确到达预期的引脚。 遵循我如何配置我的引脚,遵循mcpwm_basic_config_example.c中的示例 代码:全选 esp_err_t rv = ESP_OK; /* GPIO initialization */ mcpwm_pin_config_t pin_config; pin_config.mcpwm0a_out_num = HBRIDGE_PIN_A; pin_config.mcpwm0b_out_num = HBRIDGE_PIN_B; pin_config.mcpwm_cap0_in_num = HALL_PIN_0; pin_config.mcpwm_cap1_in_num = HALL_PIN_1; rv = mcpwm_gpio_init(MCPWM_UNIT_0, MCPWM0A, pin_config.mcpwm0a_out_num); rv |= mcpwm_gpio_init(MCPWM_UNIT_0, MCPWM0B, pin_config.mcpwm0b_out_num); rv |= mcpwm_gpio_init(MCPWM_UNIT_0, MCPWM_CAP_0, pin_config.mcpwm_cap0_in_num); rv |= mcpwm_gpio_init(MCPWM_UNIT_0, MCPWM_CAP_1, pin_config.mcpwm_cap1_in_num); if (rv != ESP_OK) { SysError(BE_500_TODO, "set pin failed: rv (%d)", rv); return false; } /* Start hall capture */ rv = mcpwm_capture_enable(MCPWM_UNIT_0, MCPWM_SELECT_CAP0, MCPWM_POS_EDGE, 0); rv |= mcpwm_capture_enable(MCPWM_UNIT_0, MCPWM_SELECT_CAP1, MCPWM_POS_EDGE, 0); if (rv != ESP_OK) { SysError(BE_500_TODO, "capture enable failed: rv (%d)", rv); return false; } MCPWM[MCPWM_UNIT_0]->int_ena.val = (1<<27) | (1<<28); /* enable hall isr */ rv = mcpwm_isr_register(MCPWM_UNIT_0, hall_isr, NULL, ESP_INTR_FLAG_IRAM, NULL); if (rv != ESP_OK) { SysError(BE_500_TODO, "isr register failed: rv (%d)", rv); return false; } /* PWM configuration */ mcpwm_config_t pwm_config; pwm_config.frequency = 20000; pwm_config.cmpr_a = 0.0; pwm_config.cmpr_b = 0.0; pwm_config.counter_mode = MCPWM_UP_COUNTER; pwm_config.duty_mode = MCPWM_DUTY_MODE_0; rv = mcpwm_init(MCPWM_UNIT_0, MCPWM_TIMER_0, &pwm_config); if (rv != ESP_OK) { SysError(BE_500_TODO, "init failed: rv(%d)", rv); return false; } 我还生成PWM输出,它正在示波器上正常测量。只有应该发生的 CAP1 事件永远不会触发! |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
2135个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
37376 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
6775 浏览 1 评论
7793 浏览 1 评论
7642 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
5071 浏览 0 评论
1556浏览 2评论
关于NINA-W132 Wi-Fi模块SPI通信遇到的疑问求解
1208浏览 2评论
如何在MPC PowerPC MCU上首次刷写后禁用BDM?
749浏览 1评论
将HFREFR和LFREFR寄存器值设置为错误的值来将故障注入CMU,但CMU_ISR值始终为零,为什么?
735浏览 1评论
将SPSDK for FRDM-MCX-W71 SDK与VS一起安装时出现hidapi构建错误怎么解决?
678浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 04:27 , Processed in 0.575926 second(s), Total 40, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
381