-
Thread
schnelles SPI für ATXMEGA 256
eingestellt, läßt sich aber leicht auf SPIC usw. umstellen. Interrupt wäre auch möglich. spidTransferByte(xx) oder spidTransferWord(xxxx) Gruß G.G.
wird 80% der Zeit bei mir mit Pausen verschwendet. Du überträgst 2 x 1 Byte in der Funktion spidTransferWord(xxxx) unter verwendung der Funktion spidTransferByte(xx). Es dauert die Übertragung der 3 Bytes aufsummiert ca. 30us, topp!! ;). Allerdings habe ich insgesamt über 100us Pausen zwischendrin. Also
-
Thread
STM32F429 ADC DMA
Bit auf S. 328: --------------------- This bit may be cleared by hardware: – on a DMA end of transfer (stream ready to be configured) – if a transfer error occurs on the AHB master buses – when the FIFO threshold on memory AHB port is not compatible with the size of the burst. -----------------
die Hardware am Ende des Transfers gelöscht. Das Bit würde nur dann bei "1" bleiben, wenn der Transfer länger dauert als das Auslesen via Debugger. Man könnte es mal mit einer niedriegen ADC Abtastrate probieren (z.B. < 1 Hz).
-
Thread
Klausuraufgabe zu DMA beim MSP430
Wie viele Transfers müssen ausgeführt werden? 4. Wie werden Quell- und Zieladresse nach jedem Transfer verändert? 5. Wer/was löst den DMA-Transfer aus? Also bei 1. nehme ich für die Adressierungsart an "fixed address -> block of addresses" und für den Transfer-Mode "single transfer", denn es sollen
Frank2402 schrieb im Beitrag #5802598: > 5. Wer/was löst den DMA-Transfer aus? Willst du den selben Messwert zweitausendmal kopieren? Oder soll das Ende einer ADC-Messung jeweils einen DMA-Transfer triggern?
-
Thread
STM32 DMA Lookuptable etc.
kann man schon was damit anfangen DMA::DMA(PeripheralID id, uint8_t peripheral_no_id, uint32_t transfer_source_address, uint32_t transfer_destination_address) { PID = id; PNID = peripheral_no_id; SourceAddress = transfer_source_address; DestinationAddress = transfer_destination_address;
} }; }; public: DMA(PeripheralType id, uint8_t peripheral_no_id, uint32_t transfer_source_address, uint32_t transfer_destination_address); private: PeripheralType PID; uint8_t PNID; RegisterTypeDef::DMA* DMA_REG; Peripheral* Periph; uint32_t SourceAddress
-
Thread
"Bester" Weg für Eigenbau USB-DMX-Interface mit ATSAM
wird nicht in Echtzeit ermittelt? In der PC-Software muss praktisch zu jedem Zeitpunkt ein USB-Transfer aktiv sein (keine Pausen machen). Wenn auf dem Controller der Ringpuffer voll läuft (d.h. das DMX-Universum ändert sich langsam) sendest du einfach NAK auf dem betreffenden Endpoint bis wieder
kopieren. Christoph Z. schrieb im Beitrag #7418603: > Dafür darf USB bei einem > Isochronen Transfer auch Daten verlieren (so wie es bei IP/UDP z. B. > passieren darf). Kommt das in der Praxis denn auch vor? Bei UDP ist es zumindest solange man im LAN ist und die Auslastung hinreichend gering
-
Thread
Platine fräsen: Genauigkeit und Maschine gesucht
"Problemchen" Kleinserien bestellst du aus China. In der Regel ist die Platine 1A. Toner-Transfer kann rein Technisch nicht funktionieren. 3D Drucken genauso wenig. Fräsen ist halt sehr mühsam. Ich würde es nicht machen. lg, Richard
Richard B. schrieb im Beitrag #4360516: > Toner-Transfer kann rein Technisch nicht funktionieren. Zum Glück habe ich das nicht gewusst als ich recht erfolgreich damit PCBs gemacht habe. Nach anfänglichen mißglückten Versuchen habe ich die Ratschläge
-
Thread
sd-Karten, Sektoren, Cluster
DMA0_512bytes_transfer_to_SSP0(0,512); //buffer_offset,Anzahl_bytes // } */ break; case 1://2xcrc DMA_STATUS = 2; DMA2_transfer_from_buffer_to_SSP0(3);//ohne 2 x crc keine response break; case
while(tmp!=255); /* DMA_STATUS = 4; DMA2_transfer_from_buffer_to_SSP0(8); case 4://busy-abfrage 8xRx DMA_STATUS = 5; DMA3_transfer_from_SSP0_to_buffer(8); break; case 5://busy-abfrage auswertung if(buf_rx[7]=!255){
-
Thread
SPI macht komische Faxen
weiss damit, dass er die nächste Zeit von dir Ruhe haben wird. So läuft SPI ab. Der eigentliche Transfer ist immer ein Byte Austausch. Daher sind die Begriffe Senden und Empfangen hier etwas deplaziert. Denn bei jedem Transfer gibt es einen Sender und einen Empfänger. Und zwar in beiden Richtungen gleichzeitig
dass im Master es keine getrennten Funktionen für Send und Receive braucht. Eine simple Funktion 'Transfer' reicht völlig aus. Sie kriegt das Byte, dass sie zum Slave übertragen soll und liefert das Byte, welches im Gegenzug vom Slave reingekommen ist. [c] uint8_t SPI_M_Transfer( uint8_t byte ) {
-
Thread
TWI mit USI nach AN-310
SCL LOW. USIDR = *(msg++); // Setup data. USI_TWI_Master_Transfer( tempUSISR_8bit ); // Send 8 bits on bus. /* Clock and verify (N)ACK from slave */ DDR_USI &= ~(1<<PIN_USI_SDA); // Enable SDA as input. if( USI_TWI_Master_Transfer
// Load ACK. Set data register bit 7 (output for SDA) low. } USI_TWI_Master_Transfer( tempUSISR_1bit ); // Generate ACK/NACK. } }while( --msgSize) ; // Until all data sent/received. [/c]
-
Thread
STM32F407 wie SPI mit variablen Bit längen machen
eben nicht fertig zu sein und wartet auf weitere clocks, oder? Da koennte man probieren, den Transfer Buffer einfach neu zu beschreiben. Aber ich habe das nur in einem Fall mal gemacht, da ich nicht wissen konnte wann der Transfer vom Master zu ende sein wird, und schon mal Dummy Transferdaten
Der DMA - SPI Transfer ist auf 32Bit eingestellt mit dem normalen Standart Werten für so was. Eigentlich stellt sich nur noch die Frage, ob die SPI dem DMA auch nach 8,16,18,20,24 Bit sagt "neue Daten Bitte" ? NSS
-
Thread
microcontroller mit matlab + mplab
In Simulink gibt es viele Bausteine für Regler. Kannst auch über die Übertragungsfunktion gehen (transfer function) oder ganz "konventionell" die Regler mit Integrator, Verstärkung, Addierer etc. aufbauen.
Simulink gibt es viele Bausteine für Regler. Kannst auch über die > Übertragungsfunktion gehen (transfer function) oder ganz "konventionell" > die Regler mit Integrator, Verstärkung, Addierer etc. aufbauen. PID regler wär ganz gut kann ich mit der transfer fcn eine heizung steuern?? oder brauch
-
Thread
SPI Master_Simulation
is signal shreg: std_logic_vector( data_width-1 downto 0); type states is ( Idle, Data_transfer, Stop); signal State: states := Idle; begin MOSI <= shreg(shreg'left); SCLK <= CLK when State = Data_Transfer -- Master clock send to SCLK else '0';
= Datain; -- Load parallel data CS1 <= '0'; -- Select Slave aktive State <= Data_Transfer; -- Change state end if; when Data_transfer => if Count < (data_width-1) then Count := Count+1; shreg <= shreg( shreg'left-1 downto 0)& MISO; -- Shift else State
-
Thread
[AVR xmega A] Senden von DMA -> USART, funktioniert nur teilweise
High interrupt priority * - 1 byte burst length * - DMA_BUFFER_SIZE bytes for each transfer * - CHANGED: Reload source only (not destination) address at end of each transfer * - CHANGED: Increment only source (not destination) address during transfer * - Source address
(&config, DMA_CH_BURSTLEN_1BYTE_gc); dma_channel_set_transfer_count(&config, DMA_BUFFER_SIZE); dma_channel_set_single_shot(&config); dma_channel_set_src_reload_mode(&config,DMA_CH_SRCRELOAD_NONE_gc); dma_channel_set_dest_reload_mode(&config,DMA_CH_DESTRELOAD_NONE_gc
-
Thread
Thermosicherung Bügeleisen anlöten??
Die gute alte Lüsterklemme ohne das Gehäuse drum herum (https://image.jimcdn.com/app/cms/image/transf/none/path/sa0ce1c188da8cf85/image/i18309167f46d7e51/version/1529673561/image.jpg) oder eine mit Porzellan (https://image.jimcdn.com/app/cms/image/transf/none/path/sa0ce1c188da8cf85/image/i817af4ffea5d4026
Die gute alte Lüsterklemme ohne das Gehäuse drum herum > (https://image.jimcdn.com/app/cms/image/transf/none/path/sa0ce1c188da8cf85/image/i18309167f46d7e51/version/1529673561/image.jpg) Es reicht die Hälfte mit nur einer Schraube. Wollvieh W. schrieb im Beitrag #7225136: > Oder an jedem Ende auf
-
Thread
Parallel Port (lpt1) lesen per DMA
denkt, mal irgendwas anderes zu tun zu haben. Wenn dann müsstest du schon einen Burst-Read DMA Transfer machen, aber eine garantierte kontinuierliche Abtastung alle 1.6ms wird so gut wie unmöglich im Windows. Aus dem Userspace sowieso.
dachte, der Port ist bis 2.5MHz spezifiziert, da sind 10kHz ja völlig unkritisch. Aber wenn der DMA Transfer hängt, kommt das nReverseRequest natürlich gar nie und dann wird auch nichts eingelesen. Mit anderen Worten: Es wird zwar oft funktionieren, aber ich habe keine Garantie, dass es immer funktioniert
-
Thread
Extreme Hochfrequenz
kann und das elf Monate lang, so lange wir die ungewöhnliche Kapazität des Transfer Capacitors beschrieben. Man kann ihn so winzig bauen wie ein Molekül und mit wenigen Mikrovolt Elektrizität steuern. Er entwickelt keine Hitze und hat einen Parameter von 12 Terahertz. Weiß
wir es sehr dicht bauen konnten. *** Beschreibung und Aufbau des T-Cap! Der T-cap oder Transfer Capacitor ist ein metall-isolierter, dielektrischer Übergangshalbleiter auf Basis von Silberalkan. Er funktioniert nach dem Prinzip, dass Elektronen auf eine entsprechende Verbindung stoßen, deren
-
Thread
Macht ein FAT Filesystem mit DMA überhaupt Sinn ohne RTOS
Wieso pollen? Es gibt doch auch "DMA Transfer Complete"-Interrupts. Wenn dieser eintritt kann man irgendein Flag setzen und "irgendwann" mal danach schauen wenn man gerade Zeit hat, oder direkt den nächsten Transfer starten. Wobei man im Gewissen
Hi Oft ist ein DMA schneller als ein Transfer über die CPU. Matthias
-
Thread
Wie initialisiere ich bei XMC47 und PlatformIO die Interrupts
Transfers value from shadow timer registers to actual timer registers */ XMC_CCU4_EnableShadowTransfer(CCU43, XMC_CCU4_SHADOW_TRANSFER_SLICE_3 | XMC_CCU4_SHADOW_TRANSFER_PRESCALER_SLICE_3); /* Bind period match event to an NVIC node CCU43_1_IRQn */ XMC_CCU4_SLICE_SetInterruptNode(CCU43_CC43,
SLICE_SetTimerPeriodMatch(CCU43_CC43, CALCULATE_PERIOD(timer_interval)); XMC_CCU4_EnableShadowTransfer(CCU43, XMC_CCU4_SHADOW_TRANSFER_SLICE_3 | XMC_CCU4_SHADOW_TRANSFER_PRESCALER_SLICE_3); XMC_CCU4_SLICE_StartTimer(CCU43_CC43); } button_edge = false;
-
Thread
Array mit vorzeichen im eeprom Speichern
int Wert_Eeprom[19] EEMEM; // alle Werte auf einmal von SRAM ins EEPROM und umgekehrt void transferWerteToSRAM() { eeprom_read_block( Werte, Wert_Eeprom, sizeof(Werte) ); } void transferWerteToEEprom() { eeprom_write_block( Werte, Wert_Eeprom, sizeof(Werte) ); } int main() { ... transferWerteToSRAM(); ... Wert[0] = 876; Wert[12] = -67; ... transferWerteToEEprom(); ... } [/C] * Möglichkeit 3 Mischen von Mögl. 2 und Mögl. 1 Am Anfang des Programm
-
Thread
Empfangen und Übertragung von Daten über USART
zum empfangen von Byte mit dem Puffer UDRO über USART0. Der ISR(USART1_UDRE_vect) dient zum Transfer der Daten von UDRO in UDR1. Der ISR(USART1_TX_vect) dient zum komplet Transfer von Daten über USART1. Die Funktion usart_Transfer sendet die Daten Byteweise zu zwei Motorsteuerungen Die Routine
USART1 char c ; while(1) { c = USART0_Receive(); USART1_Receive() = c ; usart_Transfer("#3sc\r"); // Sendung der Fahrstrecke usart_Transfer("#3A\r"); // Motor anfahren } } [/c] Ich kriege folende Fehlermeldung : ../test_ohne_interrupt.c:104: error: lvalue required
-
Thread
G-Sensor BMA020 via SPI
digitalWrite(chipSelectPin, HIGH); delay(100); } void loop() { digitalWrite(chipSelectPin, LOW); SPI.transfer(READ); // Command to Read //(0x80) Register 2 (0x02) multiple reading byte xl = SPI.transfer(0); // Read register 2 byte xh = SPI.transfer(0); // Read register 3 byte yl = SPI.transfer(0); // Read register 4 byte yh = SPI.transfer(0); // Read register 5 byte zl = SPI.transfer(0); // Read register 6 byte zh = SPI.transfer(0); // Read register 7 digitalWrite(chipSelectPin,HIGH); unsigned short x = int (xh << 2) | (xl >> 6
-
Thread
RFM01 & RFM02 - Eigenartiger Empfang
output[2] = spiTransfer16(nSel, 0xA640); //434Mhz center freq output[3] = spiTransfer16(nSel, 0xC847); //2.4kbps output[4] = spiTransfer16(nSel, 0xC69B); //AFC output[5] = spiTransfer16(nSel, 0xC42A)
0x00); //read input byte output[4] = spiTransfer(nSel, 0x00); //read input byte output[5] = spiTransfer(nSel, 0x00); //read input byte output[6] = spiTransfer(nSel, 0x00); //read input byte output[7] = spiTransfer(nSel, 0x00
-
Thread
Platinen BESCHRIFTEN u. Schneiden
Mit dem Bestückungsdruck das geht auch mit nem Laserdrucker und Transfer mit Bügeleisen. Wie beim erstellen des Ätzrrsist auf der Kupferseite Marc
.. auch stärkeres Kopieren brachte kein zufriedenstellendes Ergebnis. Was verwendet ihr für den Transfer, Papier? mfg Sebastian
-
Thread
85 MByte/s über ADSL
komprimieren lässt) hast ist es schon technisch unmöglich. Die 85 Megabyte/sek. klingen eher nach einem Transfer innerhalb des LAN.
um die 50MB/s. Bleib auf dem Teppich. Ich hab auch schon 90MB/s gesehen, in einem einzelnen Transfer, also nicht mit zig Clients. Allerdings war das natürlich nicht CIFS/SMB.
-
Thread
Diskette aus alter SUN lesen
Kiste nichts mit USB und so wurde die Datei per > FTP übertragen. Dann war ASCII- statt BINARY-Transfer beim FTP eingestellt - eine Falle, in die schon so mancher getappt ist.
> FTP ASCII- statt BINARY-Transfer ausgewählt (Wenn er alles gezippt hat VOR dem Transport, dann sind die lästigen CR dem Zip-File hinzugefügt. Sonst wäre jede einzelne Datei verunstaltet.) Das Einfachste wäre: nochmals FTP mit
-
Thread
CBW CBWTag USB SCSI Massdata Storage Prorokoll
] TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK) TransferBufferLength = 0000001f TransferBuffer = 8475db48 TransferBufferMDL = 00000000 00000000
Irp=85024008, IRQL=2 [405 ms] >>> URB 28 going down >>> -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: PipeHandle = 84ed9fbc [endpoint 0x00000081] TransferFlags = 00000002 (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000200 TransferBuffer
-
Thread
Verständnisfrage DMA
ähnlich Interrupts. Wenn man SPI über DMA betreibt, dann wird alle zig Takte mal ein einzelner DMA-Transfer eingeschoben. Das ist viel günstiger als der gleiche Job per Interrupt (wenn das überhaupt schnell genug ist).
mal für 1-3 Takte abhanden und sie muss (vielleicht) entsprechend kurz warten. Für blockweisen Transfer am Stück ist DMA nicht selten langsamer als die CPU.
-
Thread
SD-Karte und Multitasking
dessen Rückkehr fertig ist. Ich müsste FatFs dazu bringen... * Den Schreibvorgang zu starten * DMA-Transfer zu starten * die CPU freizumachen für die Prozess-Steuerungs-Funktion (Rückkehr aus f_write ohne dass disk_write fertig ist??) und nach Abschluss des Blocktransfers das Schreiben abzuschließen.
aber ein (einfaches) Multithreading verwenden und in der disk_read/disk_write Funktion den DMA-Transfer starten, den "Thread anhalten" (rausspringen), und dadurch die CPU für die Prozess-Steuer-Funktion freimachen. Wenn der Transfer fertig ist zurückspringen und somit die FatFS Funktion fortsetzen.
-
Thread
Datenrate STM32F107 HAL + Lwip
Ethernet Controller W5500 (nicht W5100) - F103 Core Takt 72 MHz - SPI Takt 36 MHz zum W5500, DMA Transfer - Block-Grösse 1024 Bytes - UDP Transfer an PC ohne Handshake Ergibt für den einzelnen Transfer also etwa 2.5 MByte/sec für ein einzelnes UDP Paket.
dem Interrupt selber heraus, das Datenpaket auf eine MPSC queue geschoben und sofort der nächste Transfer gestartet. Interrupts sind eine Art Thread.
-
Thread
DOS C DMA Transfer Physical Memory
Hallo, für eine Geschwindigkeitsmessung zwischen Hauptspciher una angeschlossenen Speicher möchte ich den DMA Controller nutzen. Der DMA benötigt PCI addressen von Quelle und Ziel. Die Zieladdresse ist mir bekannt, da es sich um meinen angeschlossen Speicher handelt. Allerdings bekomme ich bei der Quelladresse ein Problem. Die Testdaten möchte ich mittels eines C-Programms generieren. Diese Daten liegen dann aber auf virtuellen Adressen, wie bekomme ich den Bogen zu den pyhsischen um den DMA mit den notwendigen INformationen zu versorgen. Mir ist klar das dies eigentlich die Aufgabe eines
-
Thread
STM32 Maximale DMA Transfer Größe
für mein Problem und stoße da gerade auf ein kleines Hindernis: Wie groß darf der maximale DMA Transfer sein? Liegt der bei 1024 Byte? Wie kann ich diese "Limitierung" umgehen? Ich müsste ca. 8600 Byte übertragen. µC ist ein STM32F1
Problem > und > stoße da gerade auf ein kleines Hindernis: > > Wie groß darf der maximale DMA Transfer sein? Liegt der bei 1024 Byte? > Wie kann ich diese "Limitierung" umgehen? Ich müsste ca. 8600 Byte > übertragen. > > µC ist ein STM32F1 Schau ins Manual. Alternativ Google. Dauert keine
-
Thread
VHDL Modell auf algorithmischer und register transfer ebene
lassen. Das Modell auf algorithmischer oder abstrakter Ebene und zum zweiten auf der Register Transfer Ebene. Nun kenne ich folgende Def. dazu: Algorithmische Ebene = Beschreibung durch parallel ablaufende Algorithmen, kein Bezug zur späteren Realisierung, keine Takt- u. Reset-Signale Register Transfer Ebene = detailliertes Datenstrukturmodell mit optimiertem Datenfluß und minimiertem Steuerfluß wird dargestellt, zeitlich parallel ablaufende Aktivitäten werden folgerichtig in ein Zeitraster eingeordnet
-
Thread
encode base64 per chunked transfer
Hintergrund ist jener das ich in einen Json ein Bild übertragen will aber das Bild nicht komplett in den Puffer laden möchte um daraus base64 daten zu erzeugen. Da diese Bild nicht als ganzes vorliegt, es wird stückweise aus dem Memory eines Gerätes gelesen. Nun dachte ich das man den Buffer Inhalt base64 encodiert und dann stückweise versendet. Denn das Bild komplett zwischen zu buffern wollte ich vermeiden ;) Möglicherweise wird dann das base64 am Ende aufgefüllt und wäre dann ein so zusammen gefügtes base64 noch gültig ? Kann man ein file base64 chunked encoden ?
-
Thread
USB-Host LPC1769
beschäftige ich mich mit der USB-Tastatur. Den Report für die Tasten kann ich auch schon per Control-Transfer pollen und auch das schalten der LEDs funktioniert. Nun möchte ich aber die Tasten per Interrupt-Transfer abfragen, hier habe ich nun ein paar Fragen. Bei einem Control-Transfer habe ich ein Setup-Paket, Daten-Paket und ein Handshake-Paket laut [1][2] besteht ein Interrupt-Transfer nur aus einem Daten-Paket und einem Handshake-Paket? Muss ich nun 2 TDs aneinander hängen und diese dann an einen ED hängen? Wie sage ich dem Gerät dann was ich von ihm möchte? Wie bekomme ich
-
Thread
Wiznet W5500 Datenübertragung via Ethernet
Deine SPI Read- und Write-Funktionen sind doppelt gemoppelt, es genügt _eine_ Funktion (SPI Transfer) die sowohl ein Byte schreibt und bei der Rückkehr ein gelesenes Byte liefert.
Wastl schrieb im Beitrag #7881400: > im letzten Transfer > kommt ein zu lesendes Byte daher. Chip Select rahmt die vier > Transfers ein. Ist alles glasklar im Datenblatt beschrieben. Was ist daran nicht zu verstehen? Ist dir der Mechanismus des SPI
-
Thread
nRF51 TWI-Sensor auslesen
2Fgroup__app__twi.html : [code] #define APP_TWI_READ(address, p_data, length, flags) APP_TWI_TRANSFER(APP_TWI_READ_OP(address), p_data, length, flags) Macro for creating a read transfer. More... [/code] [code] #define APP_TWI_WRITE(address, p_data, length, flags) APP_TWI_TRANSFER(APP_TWI_WRITE_OP(address), p_data, length, flags) Macro for creating a write transfer. [/code] Mir ist aber nicht klar, welche Header-Dateien ich aus dem SDK brauche und wie ich den Sensor initiiere. Auch hab ich mir der pcdreflux-Video #21 https://www.youtube.com/watch?v=4KCqawaN
-
Thread
LED Belichter,direkt Toner Methode für Layouts?
Mit der Zeit gehen. Umstellung von UV-Röhrenbelichter auf LED-Belichter? oder direkt Toner Transfer Methode? Für die Belichtung von Platinen habe ich zwar ein UV Röhren Gerät 2x15 Watt,Isel-Elektronik,aber die Belichtungsergebnisse waren im allgemeinen sehr bescheiden,oft unbefriedigend.UV Röhren
Beitrag #3154074: > Umstellung von UV-Röhrenbelichter auf LED-Belichter? oder direkt Toner > Transfer Methode? Dazu müßte man wenigstens wissen, was deine Anforderungen an Platinengröße, Auflösung, Anzahl Lagen etc. sind. > Für die Belichtung von Platinen habe ich zwar ein UV Röhren Gerät 2x15
-
Thread
Mainboard kaputt?
Ansonsten reicht u.U. auch die eingebaute Sicherung (unter Sichern und Wiederherstellen bzw. Easy-Transfer)
sichern und dann neu drauf klatschen. Ok aber kannst du mir bitte sagen auf welchen pfad sich Easy transfer oder "Sichern und widerherstellen" befindet? Bzw. wie kann ich das über ubuntu starten?
-
Thread
HS USB MSC mit Stm32F4 und USB3300
Wenn 1024 , stürzt sbTreeView gerne mal ab. hmm Auch wenn ich 512 einstelle, sehe ich bei data transfer in wireshark sowas: 7131 11.258490 host 2.10.2 USB 27 URB_INTERRUPT in 7132 11.259568 2.11.1 host USBMS 65563 SCSI: Data In LUN: 0x00 (Read(10) Response Data) 7133 11.259608 host
Beitrag #7422201: > das deutet ja auf einer ordentlichen Datenrate hin mit 65563 byte bulk > transfer. das zeigt nur dass du einen 64k Buffer hast. Die Größe der USB Transfers wird durch die EP Size im Descriptor bestimmt. Beispiel für einen 512B Sector Read: BulkOut > Sectorread BulkIn < 8
-
Thread
V-USB und libusbdotnet
object temp2 = null; //IntPtr incom = new IntPtr(); return MyUsbDevice.ControlTransfer(ref packet, temp2, 14, out temp1); } [/code] (Mod.: code-Formatanweisung korrigiert)
UsbCtrlFlags.Recipient_Device | UsbCtrlFlags.Direction_In), request, 0x0000, 0x0000, 0x0000); ControlTransfer(ref setupPacket, IntPtr buffer, int bufferLength, out int lengthTransferred) [/c]
-
Thread
Welcher USB-Übertragungsmodus
Full-Speed. Dazu kommt noch das USB-Protokoll Fehlersicherung u.s.w. 1. Übertragungsmodus Bulk-Transfer ist am einfachsten zu implementieren und erzeugt auch locker die Nutzdatenrate die du benötigst. Treiber gibt es als Generic-USB Treiber z.B. Libusb oder vom Hersteller auch als Generic Treiber, mit
optimiert ist. Sprich 40MByte/s schafft der nicht, aber 15MByte/s ist locker drin. 3.2 Isochronen Transfer konnte ich mit dem Treiber leider nicht realisieren, dass könnte aber auch an der Software des USB-Controllers gelegen haben, aber wenn du Bulk-Transfer einsetzt ist das ja kein Problem 4. Der
-
Thread
MCP2515 Interrupt-Pin
Treiber benutzt, die den SPI Controller nicht pollen, sondern über Interrupts darauf waren, dass ein Transfer zu Ende ist oder gar DMA machen, bekommt jeder SPI Transfer sehr schnell sehr viel Overhead.
benutzt, die den SPI Controller nicht pollen, sondern über > Interrupts darauf waren, dass ein Transfer zu Ende ist oder gar DMA > machen, bekommt jeder SPI Transfer sehr schnell sehr viel Overhead. Was für ein Gejammer! Und morgen fällt der Mond vom Himmel! Genau DIR auf den Kopf! ;-)
-
Thread
STM32 USART1 IT Bytes verlust
bisher habe ich mich zurückgehalten mit DMAs zu versuchen, aber denke das steht morgen an: DMA transfer und rumgebastel wegen den Cashes für 1 Byte transfer :-P. Aber dennoch wieso verliert die IT bytes?!? Ich habe den USART beim generierten GUI GFX code einfch reingehackt (ISR mit geplanter übergabe
Anfang, erst dann Buffer umkrempeln? schlechte idee; dann würde ich ja beginnen einen neuen transfer auf mein empfanenes byte zu starten bevor ich mein empfangenes byte gesichert habe. HAL_UART_Receive_IT(&huart1,&datain,1); <-- dies ist der restart zum empfang des nächsten bytes A. S. schrieb
-
Thread
Probleme beim Auslesen von ADS8698 mit Arduino
Chip Select auf LOW -> Start Kommunikation delayMicroseconds(10); // kurze Pause SPI.transfer(0x05); // erstes Anweisungs-Byte SPI.transfer(0xAA); // zweites Anweisungs-Byte delayMicroseconds(10); // kurze Pause // abspeichern der Antwort-Bytes AntwortByte1 = SPI.transfer(0); // Empfangen des ersten Antwort-Bytes, in Variable 1 abspeichern AntwortByte2 = SPI.transfer(0); // Empfangen des zweiten Antwort-Bytes, in Variable 2 abspeichern AntwortByte3 = SPI.transfer
-
Thread
4 Pole axial electrolytic capacitor
das "Datenblatt" mal genauer. Da steht nichts von ESR. > > GucksT ud Datenblatt: Siehst Du Transfer Impedance. Guckst Du weiter mit Erklärung an Ende . Staunst Du > > Es wundert mich immer wieder wie man im Audio-Bereich aus Schei... Geld > > machen kann. Mich nicht: Seitdem ich "AudioNetzTrenntrafos
Andrew Taylor schrieb: > GucksT ud Datenblatt: Siehst Du Transfer Impedance. Guckst Du weiter mit > Erklärung an Ende . Staunst Du Willst du uns jetzt genauso verscheißern wie die Käufer deines Gehäuses? "Transfer impedance ....It is measured in accordance
-
Thread
Galaxy S5: Ordner Camera via PC nicht mehr erreichbar
Dateimanager. Wenn der Android Ordner zu voll ist dreht er ewig. Nutze ich dann hingegen android-file-transfer (https://github.com/whoozle/android-file-transfer-linux) dann klappt das. Ist bei mir in den Repositories.
das Problem von Android oder von Ubuntu verursacht wird. Hatte oben schon mal den android-file-transfer genannt wenn's mit USB funktionieren soll. Du kannst auch localsend auf Android und Linux installieren und die Bilder leicht über's lokale Netz übertragen. Oder den FTP Server auf dem Smartphone installieren
-
Thread
STM32F0 - SPI DMA per Timer compare match triggern - nur ein Byte?
Hi! Ich versuche verzweifelt einen SPI DMA transfer per timer auszulösen. Ich programmiere mit der libopencm3 und einen STM32F72. Was ich will ist eigentlich ganz einfach, alle 100ms einen 8 Byte transfer starten. DMA setup funktioniert, wenn ich den SPI transfer manuell trigger sehe ich die 8 bytes. Lasse ich aber nun den Timer1 compare match cc2 den DMA triggern sehe ich nur ein byte?! Grüße, Simon
-
Thread
kleine AVR-Server senden an Zentralserver
in der URI verschickt (?x=xy&y=yx...) Siehe Wikipedia: http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Argument.C3.BCbertragung Manche Server möchten ihre Parameter per POST andere per GET bekommen. Manche verstehen auch beides. Parameter per GET zu verschicken ist einfacher als per POST
... er möchte das sein AVR-NET-IO nen GET Request http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-Request-Methoden an seinen webspace sendet (!) und nicht eine Seite hosten. Auf seinem Server macht er n kleines php-Script, dass dann die $_GET in ne SQL schreibt ... Die Frage
-
Thread
Aufruf: Drucker/Toner-Vergleich für Toner-Transfer
ABC klappt es nicht so gut" nicht wirklich gut vergleichbar sind. Auch die Angaben zu benötigten Transfer-Temperaturen und Durchlaufgeschwindigkeiten sind zu vage. So wird die Anschaffung eines Druckers zur Glückssache und Frust ist vorprogrammiert. Ich habe mir überlegt, wie wir hier etwas mehr Objektivität
hatte ich hingegen speziell mit Fokus auf Toner und Toner-Schmelztemperatur hinsichtlich Toner-Transfer bezogen. Das wurde noch nirgends so im Detail und im objektiven Direktvergleich untersucht. Dafür häufen sich im Netz die Berichte über Transfer-untaugliche Drucker und den Frust damit. Hier hätte
-
Thread
große Zahl (lomg long) und trotzdem genau ?
freq.byte[3..6] over SPI to DDS while(!(SPSR & (1<<SPIF))); // wait until SPI transfer is complete } if (f_dds) // if frequency > 0 Hz then { SPDR=0x00; // DDS-PhaseControlWord (Phase=0; PowerDown=0; 6xREFCLK
PowerDown=1; 6xREFCLK=0) } while(!(SPSR & (1<<SPIF))); // wait until SPI transfer is complete PORTB |= (1<<CS_DDS); // set DDS-Select high } MfG Peter