完善资料让更多小伙伴认识你,还能领取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 事件永远不会触发! |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1912个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36369 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4404 浏览 0 评论
6063 浏览 1 评论
6771 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4221 浏览 0 评论
625浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
621浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
615浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
698浏览 2评论
802浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 06:59 , Processed in 1.079438 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号