红外闪烁笔记2

This commit is contained in:
james 2024-08-08 00:19:45 +08:00
parent 7311943745
commit 890d9292a8
4 changed files with 11 additions and 2 deletions

View File

@ -103,7 +103,7 @@ MSH_CMD_EXPORT(ringbuffer_example, ringbuffer example);
## 使用红外线导致lcd闪烁
### 问题描述
没使用软件包时可以正常运行使用红外线后lcd闪烁只是变黑lcd上面的内容在变亮之后不受影响
没使用软件包时可以正常运行使用红外线后lcd闪烁甚至是在按下红外按键后才闪屏幕变黑等变亮后lcd上面的内容不受影响
### 简单的心路历程
1. 估计是lcd背光有问题
找到原理图搜索lcd经了解**LCD_BL**是背光引脚
@ -113,10 +113,19 @@ MSH_CMD_EXPORT(ringbuffer_example, ringbuffer example);
参考下图,得出针脚与原理图的对应关系![针脚与原理图的对应关系图](image-6.png)
[出处链接](https://item.szlcsc.com/2507.html)
用电压表测量3号针脚和地的电压果然随着屏幕闪烁一时有数值一时接近0
并用镊子短接23果然屏幕可以常量了
并用镊子短接23果然屏幕可以常亮了,明确了是屏幕背光问题。
2. 红外线程序中调了屏幕背光?
然而相应的lcd函数在红外线的代码中竟完全搜不到
去看红外的原理图同时也在配置中发现两者在芯片的pin相邻2021难道硬件有问题
![原理图相邻的脚](image-7.png)
经过我仔细观察(放弃了),又是和上一次一样一通搜索,用电压表测得红外只在接收到信号时,电压才有些改变,不随着屏幕闪烁,看来又不是这个问题了
3. 尝试注释掉红外相关的代码
还是闪,看到红外相关的驱动代码,注释掉`INIT_APP_EXPORT(nec_decoder_register);`等初始化就运行的代码,才不闪,虽然不闪了,但也不能用红外了,那不白干了
4. 查看config配置
发现我没有用到的发送的部分我也使能了尝试关掉看看是否改善还是没有。里面有timer的选项和PWM一起引起我们的注意然而红外是timer14LCD是timer3忘记在哪里甚至一开始还找不到lcd的八竿子打不着啊。让我们很疑惑。打算放弃寻找其它软件包似乎没有找到而借用Arduino的似乎也不容易。与此同时我碰运气般地修改红外线的timer为timer11。
5. 再看历程的说明
![alt text](image-10.png)
![alt text](image-9.png)
![alt text](image-8.png)
终于发现他俩**用的同一个pwm**修改为timer11也最终可以正常运行了

BIN
my_error/image-10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
my_error/image-8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
my_error/image-9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB