Okej mam taki oto programik który realizuje mniej więcej moje założenie - trochę się naszukałem ale ile przy tym znowu nauczyłem
Config Lcd = 16 * 2
Dim Ad As Byte
Dim Pa As Single
Do
Do ' początek pętli programu
Cls ' procedura czyszczenia ekranu
I2cstart ' start magistrali i2c
I2cwbyte 144 ' adres zapisu
I2cwbyte 0 ' wyślij bajt danych do pcf8591 na port 0
I2cstop
I2cstart ' adres odczytu
I2cwbyte 145 ' odczyt zgodnie z rejestrem kontrolnym
I2crbyte Ad , Nack ' odczytaj wartość portu 0 PCF8591 i zakończ przesył danych (NACK)
I2cstop
I2cstop
' część obliczeniowa
Pa = Ad / 5 ' napięcie odniesienia
Pa = Pa + 0.00842 ' stałe mnożniki do obliczeń wartości ciśnienia dla MPXH6400
Pa = Pa / 0.00241 ' patrz nota katalogowa strona 4 wykres
Lcd Pa ; " Pa"
Waitms 200
Loop
problemem jest to że wcina 86% pamięci procka :? a gdzie upchać zapis i transmisję przez RSa
Wszelkie sugestie mile widziane

może jakiś inny procek lub rozbudować ten o jakaś pamięć
po chwili namysłu i czytania noty "lepiej mnożyć przez odwrotność niż dzielić zmienne typu single " zmieniłem fragment kodu dodając
Const Vs = 0.2 ' odwrotność napięcia odniesienia
Const X = 0.00842 ' wg noty katalogowej
Const Y = 413.05245766212308963238331268071 ' odwrotność 0,002421 wg noty katalogowej
i zmieniając obliczenia na mnożenie
Pa = Ad * Vs ' napięcie odniesienia
Pa = Pa + X ' stałe mnożniki do obliczeń wartości ciśnienia dla MPXH6400
Pa = Pa * Y
wynik zszedłem do 81%
Pozdrawiam
Szymon