MCP2221 Baustein ansprechen

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: MCP2221 Baustein ansprechen

Beitrag von mschnell »

pluto hat geschrieben:Beim Speicher stecht nur 16 welcher Speicher ist damit gemeint? RAM? FlASH? welche Einheit? KB?
16 K RAM, 64 K Flash. Und USB OTG on Chip !
-Michael

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: MCP2221 Baustein ansprechen

Beitrag von marcov »

Wenn Mega nicht genug ist, dann gibst es noch Arduino DUE ?

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: MCP2221 Baustein ansprechen

Beitrag von Mathias »

Wenn Mega nicht genug ist, dann gibst es noch Arduino DUE ?

Ich brauche kein riessen Print mit zig Ein und Ausgängen.

Ich denke der 32MX130F064B-ISP ist dem atMega328 weit überlegen. der atMega328 kostet ja noch mehr und kann noch weniger....

Ich habe gerade gesehen, das dieser PIC gar keine direkte USB-Anbindung hat. Und arbeiten tut er mit 3,3V.
Aber der 32MX220F032B hätte USB. Der 32MX210F016B-ISP hat auch USB und kostet nur €2.88, etwa gleich viel wie der Atmega328.
Noch besser, der Atmega328 ist bei Reichelt ausverkauft.

Unter dem Strich, ich muss mir die PICs mal genauer angucken. Nur die Frage, sind die gleich einfach zu programmieren und flashen wie Atmegas ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: MCP2221 Baustein ansprechen

Beitrag von Mathias »

Ich habe mit einen Arduino Leonardo gekauft, da kommt richtig Dampf aus dem COM-Port.
Jetzt ist die Verbindung sogar etwas höher als beim Nano mit 1'000'000 Baud.

Jetzt ist das Ziel momentan erreicht, da ich jetzt schneller auslesen kann, als die ADS1115 Messwerte liefern können.
Demnächst werde ich den Alert/Rdy-Pin des Wandler mit dem Leonardo verbinden, diese Pin schaltet auf HIGH, sobald die Daten im Wandler parat sind.

So wie es scheint, hat der ein ähnliches Verhalten, wie der PIC der oben beschrieben ist. Egal wie man die Baudrate einstelle, der Speed ist immer gleich hoch.
Gemäss Beschreiben, ist der USB-Anschluss direkt im Atmega verbaut, es gibt keinen Umweg über einen UART.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: MCP2221 Baustein ansprechen

Beitrag von Mathias »

Ich habe es nun endlich mal geschaft, die GPIO vom MCP2221 anzusprechnen, aber ich denke, das ist noch nicht der richtige Weg.
Irgendwie mache ich da einen Umweg übers SRAM.
http://ww1.microchip.com/downloads/en/D ... 05292B.pdf Seite 49.

Code: Alles auswählen

const
  USB_CMD_SETGPIO = $50;
  USB_CMD_GETGPIO = $51;
  report_size = 64;     // 64
 
var
  fd: cint;
  report: array [0..report_size - 1] of byte;
 
begin
  fd := FpOpen('/dev/hidraw3', O_RDWR or O_NONBLOCK);       // Device-Name
  if fd < 0 then begin
    Memo1.Lines.Add('Unable to open device');
  end;
 
  FillChar(report, report_size, $00);
 
  report[0] := $60;
  //    report[0] := USB_CMD_SETGPIO;
 
  report[7] := %11000000;
  if ToggleBox1.Checked then begin
    report[8] := %00010000;
  end;
  if ToggleBox2.Checked then begin
    report[9] := %00010000;
  end;
  if ToggleBox3.Checked then begin
    report[10] := %00010000;
  end;
  if ToggleBox4.Checked then begin
    report[11] := %00010000;
  end;
 
  FpWrite(fd, report, report_size);
 
  FpClose(fd);
end;


Aber immerhin ist dies mal ein Anfang. :idea:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: MCP2221 Baustein ansprechen

Beitrag von Mathias »

marcov hat geschrieben:Wenn Mega nicht genug ist, dann gibst es noch Arduino DUE ?

Ich habe jetzt eine due angeschlossen, dieser macht richtig Dampf in I²C.
Den Raspi 2 habe ich auch probiert, bei dem habe ich I²C direkt verwendet. Dieser arbeitet aber sehr gemütlich an I²C, das ist ein normaler Arduino sogar um einiges schneller.

Jetzt ist das Ziel momentan erreicht, da ich jetzt schneller auslesen kann, als die ADS1115 Messwerte liefern können.

Dies wurde mit dem due noch einiges überboten, :shock:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten