原帖由 David_Lee 于 2011-9-25 17:29 发表 囧,说的是板载的OLED,还以为是我们常玩的点阵型LED。板载的OLED,你参考TI的驱动就可以了,有源码的。
不是OLED吧,就是普通点阵的那种12864,你的代码12864驱动部分以及模拟spi部分我参考了一下无显示,我用硬件spi发数据有显示,但是是乱码+花屏
附上主要部分的代码:
void Write (unsigned char dat_com,unsigned char byte) ////////////0为写入com,1为写入date{ unsigned char temp; if(dat_com == 0) //为零,写入指令 temp = 0xf8; //11111,RS(0),RW(0),0 else //否则,写入数据 temp = 0xfa; //11111,RS(1),RW(0),0 GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_3, 1<<3); SysCtlDelay(10*(SysCtlClockGet( ) / 3000)); Send_Byte(temp); SysCtlDelay(10*(SysCtlClockGet( ) / 3000)); Send_Byte(byte); GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_3, 0<<3);}
spi的初始化:
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU); SSIConfig(SSI_BASE,SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 9600, 8); SSIEnable(SSI_BASE); GPIOPinTypeSSI(GPIO_PORTA_BASE, (GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5)); GPIODirModeSet(GPIO_PORTA_BASE, GPIO_PIN_3 , GPIO_DIR_MODE_OUT);
不知道是什么原因,请高手指点啊!
在这里我没有用checkbusy,因为checkbusy我怎么都调不过