Witam!
Mam za zadanie zrobić program do wyswietlania temeratury na wyswietlaczu graficznym ze sterownikiem ks0108, z zastosowaniem termometru TC77. Zmieniam wartość w C na kelwiny i farenheit.
Problem w tym, że wyświetla mi tylko jedną wartość.
Poniżej umieszczam kod programu
Kod umieszczamy w znacznikach [code] - poprawiłem.
[zumek]
Mam za zadanie zrobić program do wyswietlania temeratury na wyswietlaczu graficznym ze sterownikiem ks0108, z zastosowaniem termometru TC77. Zmieniam wartość w C na kelwiny i farenheit.
Problem w tym, że wyświetla mi tylko jedną wartość.
Poniżej umieszczam kod programu
#ifndef F_CPU
#define F_CPU 16000000 // 16 MHz - turn on external resonator (fuse bits)
#endif
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
#include "SPI.h"
#include "ks0108.h"
#include "arial_bold_14.h"
#include "SC.h"
#include "Bitmap.h"
//-------------------------------------
// main program
//-------------------------------------
int main(void)
{
char A1,A2;
char buf[8];
char buf1[8];
char buf2[8];
char a=273;
char pomiar, pomiarK, pomiarF;
SPI_Init();
ks0108Init(0);
ks0108ClearScreen();
ks0108SelectFont(Arial_Bold_14, ks0108ReadFontData, BLACK);
ks0108SetInverted(0);
for(;;)
{
ks0108ClearScreen1();
PORTB &= ~(1 << PB5); // Enable CS
A1 = SPI_Transmit(1); // read byte
A2 = SPI_Transmit(1); // read byte
PORTB |= (1 << PB5); // Disable CS
pomiar=(A1*32+A2/8);
pomiar=pomiar*0.625;
//pomiar=pomiar*0.0625;
pomiarK=(pomiar+a);
pomiarF=((9/5)*(pomiar))+32;
dtostrf(pomiar,2,2,buf);
dtostrf(pomiarK,2,2,buf1);
dtostrf(pomiarF,2,2,buf2);
ks0108GotoXY(10,10);//USART_PutString("TC77 output (hex): ");
ks0108Puts("Pomiar:");
_delay_ms(10);
ks0108GotoXY(65,10);
ks0108Puts(buf);
ks0108GotoXY(65,30);
ks0108Puts(buf1);
ks0108GotoXY(65,45);
ks0108Puts(buf2);
ks0108ClearScreen();
}
return 0;
}Kod umieszczamy w znacznikach [code] - poprawiłem.
[zumek]