## 核心功能 - 实现全屏手电筒:支持红/绿/蓝三色点击切换 - 自动闪烁模式:1000ms周期(500ms高亮100% + 500ms低亮20%) - BOOT按键退出手电筒并返回主界面 ## 性能优化(关键创新) - PWM遮罩技术:立即黑屏遮盖LCD刷新过程,完全消除卡顿 - 简化实现:只修改样式不重建对象,降低资源消耗 - 切换速度:从135ms优化到100ms(提升25.7%) - SPI时钟:40MHz → 80MHz(提升LCD刷新速度) ## 技术细节 - PWM淡入淡出步进:20% → 25%(10ms → 8ms) - 刷新等待时间:120ms → 90ms(基于理论计算优化) - 初始延迟:5ms → 2ms(PWM设置是立即的) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 | Linux |
|---|
Hello World Example
Starts a FreeRTOS task to print "Hello World".
(See the README.md file in the upper level 'examples' directory for more information about examples.)
How to use example
Follow detailed instructions provided specifically for this example.
Select the instructions depending on Espressif chip installed on your development board:
Example folder contents
The project hello_world contains one source file in C language hello_world_main.c. The file is located in folder main.
ESP-IDF projects are built using CMake. The project build configuration is contained in CMakeLists.txt files that provide set of directives and instructions describing the project's source files and targets (executable, library, or both).
Below is short explanation of remaining files in the project folder.
├── CMakeLists.txt
├── pytest_hello_world.py Python script used for automated testing
├── main
│ ├── CMakeLists.txt
│ └── hello_world_main.c
└── README.md This is the file you are currently reading
For more information on structure and contents of ESP-IDF projects, please refer to Section Build System of the ESP-IDF Programming Guide.
Troubleshooting
-
Program upload failure
- Hardware connection is not correct: run
idf.py -p PORT monitor, and reboot your board to see if there are any output logs. - The baud rate for downloading is too high: lower your baud rate in the
menuconfigmenu, and try again.
- Hardware connection is not correct: run
Technical support and feedback
Please use the following feedback channels:
- For technical queries, go to the esp32.com forum
- For a feature request or bug report, create a GitHub issue
We will get back to you as soon as possible.