|
|
早上看到有坛友分享了下搞单片机时说的玄学问题,感同身受,说是上周末要搞硬件SPI通讯,2天下来无果,废话几句过程。
这回又换了一家银行的u盾,光大的,信心满满地搞,失落落陷入僵局,我用默认P1.2-1.5口,多次排查软硬件过程无果,又用回原来点亮过的(不是硬件SPI)的程序,竟然也点不亮,查来查去,首先怀疑引脚连线问题,到单片机也都是通的,万表通断排除后,再下再看,还是不亮。用点亮过的程序换到P2口竟然也点不亮,也排除了开发板上有其他连着的可能性,程序也没问题。最后老子干脆并上原来的屏,用回P0口来驱动,这倒好了,2块屏都完美点亮,说明屏引脚排序都没有问题,程序也没有问题。那么就怀疑其他口上某个引脚是不是有问题,单独点LED灯看下,对的就是那些单片机入门教程永远的第一课,发现竟然p1.6,p1.7无法点亮LED,到单片机引脚没问题,而这2个脚我是用来做RST脚和A0脚的,就很奇怪了,咋原因?哪里的问题??看开发板原理图这2个脚也没用做第二功能,这时也没时间来把这2个脚换到别的上试试,但总感觉很玄学就对了。
首次尝试SPI可以说也失败了。几点疑惑求下指导
1,使用P1.3…MOSI和P1.5…SCLK,那这2脚我只要接对应屏幕脚SDA,SCLK,是不是就不可以不用sbit去定义了?毕竟自动SPDTA数据寄存器一写数据就自动启动了,也用不到这2脚了。
2,使用SPI到底要不要设置IO口工作模式P1M1,P1M0,因为本次驱动12864也用不着读数据,本次串行也没有读的功能,可否使用默认准双向就可以了??
3,说实话用SPI,程序语句用来是真简洁,本来我是想一位一位的去写的,结果发现STC头文件里没有定义这些位,完蛋玩意,也只好用寄存器附值得方式了,倒也省事了。
就这样,有空再继续研究,谢谢观看。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|