hanyao 发表于 2021-12-15 10:28 手上没有东西,没法调试,仿真我不会 你可以看一下复位引脚的电压,和元件贴得对不对, 或者是先把MCLR关闭,使能为IO端口,这样就可以排除复位的问题了 对于端口的设置是肯定要的,不管有没有解决问题,PIC端口的优先等级都是存在的,有时不设定也能用,那就是个运气好而已 我用的时候,都是先在IO接一个1K电阻,然后再写一个输出的代码,看一下端口能不能输出自己想要的波形,先把所有端口优先等级解决了,再去调试别的功能 |
0x0A 发表于 2021-12-14 23:31 "按下复位单片机不工作却显示,说明之前写到st7789v里的数据有用了。" 是的,我觉得数据是有传输到st7789V,只是因为某种原因无法显示,当复位时单片机停止工作,st7789V就可以正常显示了。 您说可能是无限清屏造成的,我这边加延时调试了下,也没效果。 根据您给的思路,我改了下PIC内部振荡器的频率,发现500KHz时,按住复位键,LCD显示全屏红色(调试只让显示红色),4MHz时,按住复位键,LCD上边显示红色,下边是麻点 |
|
按下复位单片机不工作却显示,说明之前写到st7789v里的数据有用了。 可能是无限清屏造成的,试试主程序里增加100ms延时 |
|
MCLR 是复位引脚 你按下复位才显示,这本身就是问题,正常来说,按复位应该什么都不行的,也不知道你说的显示是不是按下复位就行,还是说按下复位只是亮了而已 1:把电路上传,看一下复位对不对,或者是看一下你自己焊得对不对 2:PIC的端口是有优先等级的,SPI部分是有最优等级,不用设置 这三个端口要设置的 RC0 RESET(P15) RC1 WR(P11) RC2 CS(P9) 比如RC0,要把CLC2这个功能关闭了,才能轮到端口 RC1就要先关闭NCO1 (2)和PWM4,才作为端口 |
| 麻烦各位大佬帮忙分析一下 |