Bascom ---> Pascal

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Seite 5 von 6
tbegle
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 65
Beiträge: 150
Dabei seit: 01 / 2018
Betreff:

Re: Bascom ---> Pascal

 · 
Gepostet: 17.08.2022 - 08:50 Uhr  ·  #33
Hi Dave , Hi Miparo,
and all the others involved in the compiler development of the MC of Microchip 4808/09 (UPDI), a big thank you.

The new MC are a hit! 1 PIN Prog. 1/2 current(Atmel) 48kB flash ........ !
I have tested the 3 USART on the 4808/09 (PIN TX=H!)
Wizzart - baudrates crooked values? - default buffer 0? maybe drill up to 230kBd? 4. USART ?
I2C(TWI) works fine I2C(TWI)presc?=TWI_BR 100/400?
AD-W still no function
Regards
Toni

Hallo Dave, Hallo MIparo,
und alle die Anderen die sich an der Compiler Entwicklung der MC von Microchip 4808/09 (UPDI) engagieren, einen herzlichen Dank.

Die neuen MC sind der Hit! 1 PIN Prog. 1/2 Strom(Atmel) 48kB flash ........ !
Ich habe die 3 USART am 4808/09 getestet (PIN TX=H!)
Wizzart - Baudraten krumme Werte? - default Buffer 0? vielleicht auf 230kBd aufbohren? 4. USART ?
I2C(TWI) funktioniert einwandfrei I2C(TWI)presc?=TWI_BR 100/400?
AD-W noch keine Funktion
Grüsse
Toni
Mathias
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Weingarten - Baden
Beiträge: 315
Dabei seit: 07 / 2003
Betreff:

Re: Bascom ---> Pascal

 · 
Gepostet: 17.08.2022 - 13:35 Uhr  ·  #34
Hallo,
habe die neueste Version installiert: 15.11.15
und das Programm von Miparo an einem Mega644 am Laufen.
Wie Miparo schon geschrieben hat, an der Druckmessung hängt es noch.
Hast du einen Tippe in welcher Ecke bei "procedure BME280readPressure" zu suchen ist?

Erstaunlich wie schnell du das Programm zum Funktionieren gebracht hast.

Gruß
Mathias
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
miparo
Schreiberling
Avatar
Geschlecht:
Herkunft: Germany
Alter: 59
Beiträge: 988
Dabei seit: 09 / 2007
Betreff:

Re: Bascom ---> Pascal

 · 
Gepostet: 17.08.2022 - 14:04 Uhr  ·  #35
Hi Matthias,
ich habe es nur aus C übersetzt, mehr nicht.
Das Datenblatt habe ich nie gesehen. Chip gekauft , übersetzt und probiert :)
Das wird merlin beruhigen, das es mit der 15.11.15 läuft.Warum es bei mir nicht compilieren wollte ?
Jetzt geht es bei mir auch wieder. dubios.

miparo
Merlin
Administrator
Avatar
Geschlecht:
Alter: 25
Beiträge: 1473
Dabei seit: 03 / 2005
Betreff:

Re: Bascom ---> Pascal

 · 
Gepostet: 17.08.2022 - 14:13 Uhr  ·  #36
I don't know if it helps but I saw this in Miparo's program

Code
function BME280read24(reg: byte): longword;

var
  Bytes3   : TRec;
begin
  Bytes3.Int_:= 0;
  I2Cout(BME280_ADDR, reg);
  I2Cinp(BME280_ADDR, Bytes3.Arr3);  // only read 3 bytes
  return(Swaplong(Bytes3.Int_) shr 8);

end;


I think that this should be

Code
function BME280read24(reg: byte): longword;

var
  Bytes3   : TRec;
begin
  Bytes3.Int_:= 0;
  I2Cout(BME280_ADDR, reg);
  I2Cinp(BME280_ADDR, Bytes3.Arr3);  // only read 3 bytes
  return(Swaplong(Bytes3.Int_  shr 8)); // << Bracket was in wrong place

end;


I cannot test but I believe I am right.

Regards

Merlin
miparo
Schreiberling
Avatar
Geschlecht:
Herkunft: Germany
Alter: 59
Beiträge: 988
Dabei seit: 09 / 2007
Betreff:

Re: Bascom ---> Pascal

 · 
Gepostet: 17.08.2022 - 15:14 Uhr  ·  #37
Hi Merlin,
possible, I will test that tomorrow. :)

miparo
miparo
Schreiberling
Avatar
Geschlecht:
Herkunft: Germany
Alter: 59
Beiträge: 988
Dabei seit: 09 / 2007
Betreff:

Re: Bascom ---> Pascal

 · 
Gepostet: 18.08.2022 - 16:51 Uhr  ·  #38
Hi Merlin,
I think mine is correct ?

Code

// Reads a signed 24 bit value over the I2C bus_REG
function BME280read24(reg: byte): longword;
var
  res : longword;
begin
  res:= 0;
  I2Cout(BME280_ADDR, reg);
  I2Cinp(BME280_ADDR, res, 3);  // only read 3 bytes 24-bit
  Writeln(Serout,'Int24 : '+  LongToHex(Swaplong(res) shr 8));  >>> result : 00831E00
  Writeln(Serout,'Int24L: '+  LongToHex(Swaplong(res shr 8))); >>> result: 1E000000
  return(Swaplong(res) shr 8);
end;



miparo
Merlin
Administrator
Avatar
Geschlecht:
Alter: 25
Beiträge: 1473
Dabei seit: 03 / 2005
Betreff:

Re: Bascom ---> Pascal

 · 
Gepostet: 18.08.2022 - 19:05 Uhr  ·  #39
Hi Miparo.

I don't know the product or the format of the data. It is just that mathematically it made no sense to me. To be honest it still doesn't

You start with
00 00 00 00

Then read 3 bytes

aa bb cc 00

Then reverse the digits

00 cc bb aa

then shr 8

00 00 cc bb

That might be what you are trying to achieve but I am struggling to believe it. Or am I missing something?
miparo
Schreiberling
Avatar
Geschlecht:
Herkunft: Germany
Alter: 59
Beiträge: 988
Dabei seit: 09 / 2007
Betreff:

Re: Bascom ---> Pascal

 · 
Gepostet: 18.08.2022 - 19:20 Uhr  ·  #40
The safe way :)

Code

// Reads a signed 24 bit value over the I2C bus_REG
function BME280read24(reg: byte): longword;
var
  Buff: array[0..2] of byte;
begin
  I2Cout(BME280_ADDR, reg);
  I2Cinp(BME280_ADDR, Buff); // only read 3 bytes 24-bit
  return (longword(Buff[0]) shl 16) or (longword(Buff[1]) shl 8) or longword(Buff[2]));
end;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Seite 5 von 6
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   139   153 · Page-Gen-Time: 0.028954s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI