61 #include "xparameters.h"
66 #define UART_BASEADDR XPAR_XUARTPS_0_BASEADDR
68 #define OLED_VBAT 0x20
69 #define OLED_VDD 0x10;
70 #define OLED_RESET_B 0x08
71 #define OLED_DATA_COMMAND_B 0x04
72 #define OLED_SDIN 0x02
73 #define OLED_SCLK 0x01
90 for(i=0;i<nStopValue;i++)
113 for(i=0;i<nNumberOfTimes;i++)
117 uchLedStatus = 1 << j;
118 XGpio_DiscreteWrite(pLED_GPIO, 1, uchLedStatus);
124 uchLedStatus = 8 >> j;
125 XGpio_DiscreteWrite(pLED_GPIO, 1, uchLedStatus);
152 for(i=1;i<nExponent;i++)
154 nValue = nValue * nBase;
170 for(i=0;i<nQuantity;i++)
187 if(nUartAddress==XPAR_PS7_UART_1_BASEADDR)
188 read(1, (
char*)&uchInput, 1);
207 printf(
"%c",uchByte);
224 u8 uchReturnVal=TRUE;
225 u32 unUartStatusRegisterAddress;
226 u32 unStatusRegisterValue;
227 if(unUartAddress==XPAR_PS7_UART_1_BASEADDR)
229 unUartStatusRegisterAddress = unUartAddress + 0x0000002C;
230 unStatusRegisterValue = Xil_In32(unUartStatusRegisterAddress);
233 if((unStatusRegisterValue & 0x00000002)==0x00000002)
247 return(uchReturnVal);
397 if(((uchDataToWrite >> i) & 0x01)==0x01)
428 pauchBuffer[i] = 0x00;
466 for(page=0;page<4;page++)
481 for(column=0;column<128;column++)
508 int nDisplayBufferIndex=0;
512 nDisplayBufferIndex = (x * 8) + (y * 16 * 8);
515 if(chCharacter >=0 && chCharacter<128)
517 nFontIndex = chCharacter * 8;
519 for(i=nDisplayBufferIndex;i<nDisplayBufferIndex+8;i++)
540 int nInitialDisplayLocation;
541 int nRemainingDisplayLength;
545 nStringLength = strlen(chString);
548 nInitialDisplayLocation = y*16 + x;
549 nRemainingDisplayLength = 64 - nInitialDisplayLocation;
550 if(nStringLength > nRemainingDisplayLength)
551 nStringLength = nRemainingDisplayLength;
555 for(i=0;i<nStringLength;i++)
607 uchTempWord1 = pauchSourceBuffer[511-((y*128)+x)];
611 uchTempWord2 = (uchTempWord1 >> (7-i)) & 0x01;
612 uchTempWord2 = uchTempWord2 << i;
613 uchTempWord3 += uchTempWord2;
615 pauchDestinationBuffer[((y*128)+x)] = uchTempWord3;
625 for(uchCount=0;uchCount<100;uchCount++)
627 switch(sStr[uchCount])
629 case '0': nRet=nRet<<4; nRet=nRet+0;
break;
630 case '1': nRet=nRet<<4; nRet=nRet+1;
break;
631 case '2': nRet=nRet<<4; nRet=nRet+2;
break;
632 case '3': nRet=nRet<<4; nRet=nRet+3;
break;
633 case '4': nRet=nRet<<4; nRet=nRet+4;
break;
634 case '5': nRet=nRet<<4; nRet=nRet+5;
break;
635 case '6': nRet=nRet<<4; nRet=nRet+6;
break;
636 case '7': nRet=nRet<<4; nRet=nRet+7;
break;
637 case '8': nRet=nRet<<4; nRet=nRet+8;
break;
638 case '9': nRet=nRet<<4; nRet=nRet+9;
break;
639 case 'a': nRet=nRet<<4; nRet=nRet+10;
break;
640 case 'b': nRet=nRet<<4; nRet=nRet+11;
break;
641 case 'c': nRet=nRet<<4; nRet=nRet+12;
break;
642 case 'd': nRet=nRet<<4; nRet=nRet+13;
break;
643 case 'e': nRet=nRet<<4; nRet=nRet+14;
break;
644 case 'f': nRet=nRet<<4; nRet=nRet+15;
break;
645 case 'A': nRet=nRet<<4; nRet=nRet+10;
break;
646 case 'B': nRet=nRet<<4; nRet=nRet+11;
break;
647 case 'C': nRet=nRet<<4; nRet=nRet+12;
break;
648 case 'D': nRet=nRet<<4; nRet=nRet+13;
break;
649 case 'E': nRet=nRet<<4; nRet=nRet+14;
break;
650 case 'F': nRet=nRet<<4; nRet=nRet+15;
break;
651 default: uchEnd=1;
break;