I've tried to use the THRES0/1 IRQ, but found a strange problem.
If I change the THRES0/1 value, the IRQ won't trigger until the counter value first has reached 0, then the set threshold value.
Ie
Set CNT = 0
Set H_LIM = 20
Count 5 pulses, so CNT = 5
Set THRES0 = 10
Count 5 pulses, so CNT = 10. I would expect an IRQ here, but don't get any.
Count 10 pulses. As CNT reaches 20 == H_LIM, it will be set to 0 instead. (And generate an IRQ.)
Count 10 pulses. So CNT = 10. This time, I do get the THRES0 IRQ.
Other ways to pass 0 will also work, like reseting the counter or using an up/down configuration and count past zero.
Am I doing something wrong? Is there any good workaround?
I would rather not reset the counter every time I want to set a new THRES0/1 value, since that would require a rather ugly cludge to fix the race conditions that can cause.
PCNT THRES0/1 IRQ not trigging.
-
- Posts: 3
- Joined: Sat Mar 21, 2020 12:56 pm
Jump to
- English Forum
- Explore
- News
- General Discussion
- FAQ
- Documentation
- Documentation
- Sample Code
- Discussion Forum
- Hardware
- ESP-IDF
- ESP-BOX
- ESP-ADF
- ESP-MDF
- ESP-WHO
- ESP-SkaiNet
- ESP32 Arduino
- IDEs for ESP-IDF
- ESP-AT
- ESP IoT Solution
- ESP RainMaker
- Rust
- ESP8266
- Report Bugs
- Showcase
- Chinese Forum 中文社区
- 活动区
- 乐鑫活动专区
- 讨论区
- 全国大学生物联网设计竞赛乐鑫答疑专区
- ESP-IDF 中文讨论版
- 《ESP32-C3 物联网工程开发实战》书籍讨论版
- 中文文档讨论版
- ESP-AT 中文讨论版
- ESP-BOX 中文讨论版
- ESP IoT Solution 中文讨论版
- ESP-ADF 中文讨论版
- ESP Mesh 中文讨论版
- ESP Cloud 中文讨论版
- ESP-WHO 中文讨论版
- ESP-SkaiNet 中文讨论版
- ESP 生产支持讨论版
- 硬件问题讨论
- 项目展示
Who is online
Users browsing this forum: No registered users and 39 guests
- All times are UTC
- Top
- Delete cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. ESP8266EX and ESP32 are some of our products.