//Функция вывода числа с плавающей точкой, где num - число, которое требуется вывести, param - число знаков после точки void lcdWriteFloat(float num, int param) { int re1 = 0, re2 = 0, g = 0, t = 0.1; g = param; param = 1; while(g) { param *=10; g--; } if(num==0.0) { lcdWriteInt(0); lcdWriteText("."); lcdWriteInt(0); return; } re1 = num; re2 = (num*param)-(re1*param); g = param; lcdWriteInt(re1); while(g) { if((num-re1)<t) { lcdWriteInt(0); } g--; t *= 0.1; } lcdWriteInt(re2); }
int main() { if (wiringPiSetup() == -1) return 1; //PWM-Pin:Set contrast pinMode(1,2); pwmWrite(1,700); //Switch on the backlight of the display pinMode(2, OUTPUT); //Backlight-Pin digitalWrite(2,1); //SPI-Setup with Clock = 500kHz if (wiringPiSPISetup(0,500000) < 0) fprintf(stderr, "SPI Setup failed: %s\n", strerror(errno)); // if ((myData = malloc(8)) == NULL) // { // fprintf(stderr, "Unable to allocate buffer: %s\n", strerror(errno)); // } lcdWrite(COMMAND,0x34); lcdWrite(COMMAND,0x09); lcdWrite(COMMAND,0x30); lcdWrite(COMMAND,0x0F); lcdWrite(COMMAND,0x01); lcdWrite(COMMAND,0x06); unsigned char myText[]=" Raspberry lebt!!! Was für ein Ding \0"; lcdWrite(COMMAND,0x01); lcdWriteText(myText); while(1) { } }