-
Thread
uC mit USB gesucht
Hersteller, dass man mit Win10 etc. keine Probleme hat - IO Toggling möglichst bis 4 MHz - Bulk USB Transfer, wenig Verzögerung zw. den einzelnen Datenpaketen. - I2C Schnittstelle - Kein BGA package Bin bei der Suche auf die PSOC's gestoßen, nun welcher ist dafür eher geeignet bzw. gibt es noch tolle
ohne HID oder andere Standardklassen genauso einfach, und man kann USB voll ausnutzen, insb. alle Transfer-Typen. Michael schrieb im Beitrag #5890019: > (16 Megabytes) laden wir in knapp zehn Minuten Also 28 KiB/s, ein Fünzigstel der Brutto-Datenrate von USB-FS?
-
Thread
Verständnisfrage zu uraltem Assembler Code
TMA - Transfer Memory to Accumulator 0011011111001010 00100010 22 TMY - Transfer Memory to Y Register 0010111111001100 00100011 23 TYA - Transfer Y Register to Accumulator 1011111111001100 00100110 26 TAMZA - Transfer Accumulator to Memory and Zero Accumulator 1011111111001000 00100111 27 TAM - Transfer Accumulator to Memory 0011010111010100 00111100 3C SAMAN - Subtract Accumulator from Memory -> Accumulator
-
Thread
ATXXMega128A1 und Hardware-SPI
USE_INTERRUPT //#define USE_WORKAROUND #ifdef USE_INTERRUPT volatile extern uint8_t spieTransferBusy; #define SPIE_BUSY() spieTransferBusy = true; #define SPIE_WAIT_BEGIN() while (spieTransferBusy); #define SPIE_WAIT_END() #define SPIE_WAIT() while (spieTransferBusy); #else #define
uint8_t value; CSN_ON(); SPI_transfer(reg); // Select register to read from.. value = SPI_transfer(0); // ..then read register value CSN_OFF(); return(value); // return register value } void
-
Thread
Problem mit I2C
tilt register 07/0D transfer_complete(); // wait until transfer is complete if (I2C0_S & I2C_S_RXAK_MASK) printf("Fehler, kein ACK bekommen"); I2C0_C1 |= I2C_C1_RSTA_MASK; // repeat start
< 100000; i++); // wait } return 0; } // function to test transfer complete flag void transfer_complete(void) { test = 1; while (test) { if (I2C0_S & I2C_S_TCF_MASK) { test = 0; } } } [/c]
-
Thread
3D Scanner von 3D Digital Corp - zu irgendwas zu gebrauchen?
bEndpointAddress (IN endpoint 2) 0x02 bmAttributes (Transfer: Bulk / Synch: None / Usage: Data) 0x0002 wMaxPacketSize (2 bytes) 0x00 bInterval Endpoint Descriptor: ------------------------------ 0x07 bLength 0x05 bDescriptorType 0x02
bEndpointAddress (IN endpoint 3) 0x02 bmAttributes (Transfer: Bulk / Synch: None / Usage: Data) 0x0008 wMaxPacketSize (8 bytes) 0x00 bInterval Endpoint Descriptor: ------------------------------ 0x07 bLength 0x05 bDescriptorType 0x03
-
Thread
Neue Open Source Software macht aus deinem Oszilloskop einen Logik Analysator
Errors und CRC Errors. Außerdem kann Oszi Waveform Analyzer den bidirektionalen Half-Duplex Transfer auf einer Datenleitung aufsplitten in 2 getrennte Rx und Tx Kanäle. Ich zeige das am Beispiel der Kommunikation eines Pinpad mit einer Smartcard. Oszi Waveform Analzyer hat noch viel mehr Features
(!WriteFile(mh_Device, i_Transfer.ToArray(), i_Transfer.Count, out s32_BytesWritten, ref mk_Overlap)) { int s32_Error = Marshal.GetLastWin32Error(); if (s32_Error != ERROR_IO_PENDING) throw new
-
Thread
Konfiguriere Xilinx SPI IP als Slave
XSpi_IntrGlobalDisable(SpiInstancePtr); /* /* * Receive the data. only one byte to receive */ XSpi_Transfer(SpiInstancePtr, ReadBuffer, ReadBuffer, 1); XSpi_Transfer(&Spi, WriteBuffer, ReadBuffer, 1); [/code] Bei mir ist auch nicht Klar wann benutz man XSpi_Transfer(&Spi, ReadBuffer, ReadBuffer
to receive from the master and then Spi device waits for an external master to * initiate the transfer. When the master initiates the transfer, the Spi device * receives data from the master and simultaneously sends the data in Tx buffer * to the master. Once the transfer is complete, this example
-
Thread
STM32 UART und DMA
Buffer) noch über DMA gesendet wurde Hmm? Hast du nicht auf den DMA Interrupt gewartet dass der Transfer fertig ist?
eigentlich nicht viel zu tun, sondern liegt einfach am UART. Höchstens wenn man einen Memory-To-Memory Transfer macht kann das DMA mit maximalem Bustakt arbeiten, was dann eventuell tatsächlich die CPU blockiert bis der Transfer fertig ist (die CPU wäre natürlich auch blockiert wenn man stattdessen memcpy machen
-
Thread
V-USB & Isochroner Transfer
für Low-Speed-Devices keine isochronen Transfers. > Low Speed > Low-speed transfers use a bus transfer rate of 1.5 Mb/s. This > is the actual rate at which bits are transferred over the bus > and does not include the overhead required for control and > error checking. > The actual data transfer
aber trotzdem passen. Vielleicht kann man durch Polling Betrieb so eine Art Quasi-isochronen Transfer erreichen, wenn der Treiber das zulässt. Bis jetzt habe ich nur etwas über Interrupt Endpoints gelesen.
-
Thread
ATMEL baut Prodution ab
der Hase in Asien immer gleich läuft. Erst lagert man aus, macht gleich auch noch den Know-How Transfer und ein paar Jahre später produzieren die Chinesen auf eigene Faust. Zwar nicht in der Qualität, aber billig. Die eigene Firma in Europa kommt in Turbulenzen und letzen Endes hat man wieder ein paar
dem höchsten Nivaeu. Aber Du hast recht, irgendwelche Dünnbrett-Bohrer veranlassen einen Tech-Transfer um für dieses eine Jahr ein paar Pfennig zu sparen und einen Bonus zu kassieren, was später passiert ist ja erstmal egal.
-
Thread
STM32F4 Timer Interrupt
Ich habe ein Problem mit DMA, es wird immer der transfer error interrupt flag "CTEIF0" ausgelöst. [c] HAL_DMA_Start_IT(&hdma_tim3_ch4_up, (uint32_t)&GPIOC->IDR, uint32_t)&gSamples[0], GSAMPLES_SIZE); __HAL_TIM_ENABLE_DMA(&htim3, TIM_DMA_UPDATE);
den Register Inhalt von GPIOC->IDR in die Variable gSamples speichert. Nur leider wird immer das transfer error interrupt flag "CTEIF0" bei steigender Flanke ausgelöst.
-
Thread
Samba Performance zu gering.
sollte zu denken geben. FTP ist ziemlich effizient. Geschieht das auch, wenn man nach einem Transfer den gleichen Transfer nochmal durchführt, und zwar von einem File, das deutlich kleiner ist als der beiderseits als Disk-Cache zur Verfügung stehende Speicher? Damit kann man Effekte ineffizient arbeitender
A. K. schrieb im Beitrag #2656996: > Geschieht das auch, wenn man nach einem Transfer den gleichen Transfer > nochmal durchführt, und zwar von einem File, das deutlich kleiner ist > als der beiderseits als Disk-Cache zur Verfügung stehende Speicher? > Damit kann man Effekte ineffizient
-
Thread
STM32f4 SPI + DMA
DMA_Cmd(DMA1_Stream4, ENABLE); } void DMA1_Stream3_IRQHandler(void) { /* Test on DMA Stream Transfer Complete interrupt */ if(DMA_GetITStatus(DMA1_Stream3, DMA_IT_TCIF3)) { /* Clear DMA Stream Transfer Complete interrupt pending bit */ DMA_ClearITPendingBit(DMA1_Stream3, DMA_IT_TCIF3
IRQHandler(void){ if(DMA_GetITStatus(DMA1_Stream3, DMA_IT_TCIF3)) { // Test on DMA Stream Transfer Complete interrupt DMA_ClearITPendingBit(DMA1_Stream3, DMA_IT_TCIF3); // Clear DMA Stream Transfer Complete interrupt pending bit // ToDo } } /** * @brief DMA TX Complete
-
Thread
Camera Modul (OV9655) am STM32F4 Discovery Board
SD_Error status = SD_OK; SD_ReadMultiBlocks(buff, sector << 9, 512, 1); /* Check if the Transfer is finished */ status = SD_WaitReadOperation(); while(SD_GetStatus() != SD_TRANSFER_OK); if (status == SD_OK) { ret_wert=0; } else { ret_wert=-1; } return(ret_wert
*)buff, sector << 9, 512, count); if(status != SD_OK) return -1; /* Check if the Transfer is finished */ status = SD_WaitReadOperation(); while(SD_GetStatus() != SD_TRANSFER_OK); if(status == SD_OK) return 0; return -1; }[/c]
-
Thread
XPS SPI Core und SD Karte
WriteBuffer[BYTE5] = Argument Byte 4/4; WriteBuffer[BYTE6] = CRC BYTE /* * Initiate the Transfer. */ TransferInProgress = TRUE; Status = XSpi_Transfer(SpiPtr, WriteBuffer, NULL, STM_WRITE_ENABLE_BYTES); if(Status != XST_SUCCESS) { xil_printf("Error in transfer\r\n")
da nicht die Verwendung vom CS Signal (einfach SPISSR auf Low ? ) sowie den genauen Start eines Transferes ( Clock wird erzeugt? ). " Angesteuert wird der Chip von spimctrl aus der grlib." = ? :)
-
Thread
Komplizierte Konstrukte auflösen ohne Tempoeinbußen
; private: struct DMA2DReq { static uint16_t Amount; static uint16_t TransferID; static uint16_t NextToTransfer; static uint32_t FrameBuffer[GUI_MAX_DMA2D_QUEUE_OBJECTS]; static uint16_t xStart[GUI_MAX_DMA2D_QUEUE_OBJECTS]; static uint16_t yStart
private: struct StringReq { static uint16_t Amount; static uint16_t TransferID; static uint16_t NextToTransfer; static uint32_t FrameBuffer[GUI_MAX_STRING_QUEUE_OBJECTS]; static char* TextString[GUI_MAX_STRING_QUEUE_OBJECTS]; static uint16_t TextWidth
-
Thread
WinUSB_Installationproblem
84047008, Context=a0dc08a8, IRQL=2 [162 ms] <<< URB 1 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 84156d84 TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000012 TransferBuffer = 84263b58
84047008, Context=a0dc08a8, IRQL=2 [167 ms] <<< URB 2 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 84156d84 TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000009 TransferBuffer = 8842f854
-
Thread
PIC32 Durchsatz USB Bulk-Transfer
gerade mal auf 50-60kB/s komme. Genutzt wird dabei die Mass-Storage-Class und folglich der Bulk-Transfer. Ein solcher Transfer besteht aus 3 Phasen: CBW, Daten, CSW. Nach ein wenig Codeanalyse habe ich die vermeintliche Schwachstelle ausgemacht. Jede der drei Phasen wird in genau einem USB-Frame abgearbeitet. Daher benötigt ein einzelner Bulk-Transfer von 512 Byte Daten 3ms - dabei ist der Bus über 80% IDLE. Ohne den Overhead eines FAT-Systems würde das reichen, sind "immerhin" 170kB/s. Mit FAT kommt man eher auf ein drittel, da hier noch zusätzlich
-
Thread
Wie macht der Profi in der Firma einen Windows 11 Transfer?
Methode aber dauert halt. Weiß nichtmal ob das unter Win11 noch funktioniert. Windows Easy Transfer gibt es nimmer. Zig Tonnen an Backup Software wird online angeboten, würd ich privat auch sofort austesten, aber ne Firma braucht halt alles lizensiert und sicher und was weiß ich. Wie macht
-
Thread
usb winxp treiber ddk massdata cypress cy7c68001
: 0x00 Endpoint Descriptor: bEndpointAddress: 0x86 Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x00 Endpoint Descriptor: bEndpointAddress: 0x88 Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval
: 0x00 Endpoint Descriptor: bEndpointAddress: 0x86 Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval: 0x00 Endpoint Descriptor: bEndpointAddress: 0x88 Transfer Type: Bulk wMaxPacketSize: 0x0200 (512) bInterval
-
Thread
XMC4500 mit UART DMA
src_burst_length = XMC_DMA_CH_BURST_LENGTH_8, .dst_burst_length = XMC_DMA_CH_BURST_LENGTH_1, .transfer_flow = XMC_DMA_CH_TRANSFER_FLOW_M2P_DMA, .transfer_type = XMC_DMA_CH_TRANSFER_TYPE_SINGLE_BLOCK, .dst_handshaking = XMC_DMA_CH_DST_HANDSHAKING_HARDWARE, .dst_peripheral_request = DMA0_PERIPHERAL_REQUEST_USIC0
src_burst_length = XMC_DMA_CH_BURST_LENGTH_8, .dst_burst_length = XMC_DMA_CH_BURST_LENGTH_1, .transfer_flow = XMC_DMA_CH_TRANSFER_FLOW_M2P_DMA, .transfer_type = XMC_DMA_CH_TRANSFER_TYPE_SINGLE_BLOCK, .dst_handshaking = XMC_DMA_CH_DST_HANDSHAKING_HARDWARE, .dst_peripheral_request = DMA0_PERIPHERAL_REQUEST_USIC0
-
Thread
RFM70 -> Atmega88 @ 8 MHz geht, Attiny2313 @ 8MHz geht nicht, 1 MHz geht
arbeiten oder das ganze per Software machen. Entsprechend müsste rein theoretisch nur die SPI-Transfer Routine geändert werden. (ja ich habe bedacht, dass beim USI der "MOSI" der DI ist und der "MISO" der DO, also genau verdreht) Beim Atmega88 sah das ganze so aus: [c] unsigned char SPI_transfer
Dort haben ein paar NOPs zwischen Register schreiben und lesen geholfen [c] unsigned char spi_transfer( unsigned char value ) { // Wait for empty transmit buffer. do {} while( (UCSR0A & (1<<UDRE0)) == 0 ); // Send data. UDR0 = value; // Wait for transfer to complete and return
-
Thread
USB oder 1394
ich mir auch schon mal überlegt. Meine erste Frage war dann ob ich asynchronen oder isochronen Transfer dazu nehmen soll. Im Endeffekt würde isochroner Transfer dafür ganz gut funktionieren. Wie ich die Diskussion hier verfolgt habe ist mir dann die Idee gekommen, man könnte eigentlich eine Art FireWire
Pfostenstecker in ein anderes Design einbinden kann. Das Modul könnte zwei AV-Schnittstellen für isochronen Transfer zur Verfügung stellen und den Adress-Daten-Bus des verwendeten Mikrocontrollers. Der Mikrocontroller würde den asynchronen Transfer managen und die Register des Link-Layer Chips in den FireWire
-
Thread
MIDI Meter Bridge mit Mackie Control Protokoll
} void shift(){ digitalWrite(slaveSelectPin, LOW); SPI.beginTransaction(settingsA); SPI.transfer(vurow); //Byte für letztes Schieberegister (Kanal) SPI.transfer(datahigh); // Highbyte für die letzten 4 LEDs SPI.transfer(datalow); // Lowbyte für die ersten 8 LEDs digitalWrite(slaveSelectPin
zusammenbauen: uint32_t data = ((uint32_t)data_1 << 12) | (uint32_t)data_0; // 24-bit ausgeben SPI.transfer((uint8_t)(data >> 16)); SPI.transfer((uint8_t)(data >> 8)); SPI.transfer((uint8_t)(data)); [/c]
-
Thread
I2C richtig implementieren
generiert der Slave das Ack-Flag. So, nehmen wir jetzt an, ich habe am Bus ein Device, bei dem der Transfer abgebrochen und neu gestartet werden soll, wenn das Device unerwartet ein NACK generiert. Zusätzlich hab ich ein Device, bei dem ich den Transfer abbrechen, aber nicht neu starten will. Soooo, wie
Transfer wiederholen, beim anderen nicht. Ralf
-
Thread
Arduino Benchmark auf verschiedenen MCUs
am unteren Ende der Skala sein dürfte. Andererseits messe ich auch das hier: [code] SPI.transfer(0x55); SPI.transfer(0x55); [/code] Damit sehe ich auf dem Scope zwischen dem Ende des ersten Transfers und dem Anfang des nächsten Transfers eine Lücke von 2,3µs, das sind 184 Taktzklen für was
immer. Zusammen sieht das so aus: [code] digitalWrite(D8, LOW); digitalWrite(D4, LOW); SPI.transfer(0x55); SPI.transfer(0x55); digitalWrite(D8, HIGH); digitalWrite(D4, HIGH); [/code] Zwischen Low für D4 und der ersten Flanke auf SCK vergehen 1,7µs, es werden also 136 Taktzyklen benötigt um
-
Thread
TWI Status auslesen
Dann hast du transfer nirgends definiert, obwohl du es nutzt. Exakt das, was da steht.
Genau wie wir alle hat der Compiler keine Ahnung wer oder was "transfer" ist...
-
Thread
Arduino 841 ISR SPI
der Interrupt, so wie er in deinem Codeausschnitt ohnehin schon drinn ist, der feuert, wenn ein Transfer abgeschlossen ist.
Register (SPDR). ----------------------------------------------- "This bit is set when a serial transfer is complete" gilt für Senden und Empfangen ("transfer")
-
Thread
Welches Linux für professionellen Desktop-Einsatz
weshalb auch ich Linux immer wieder runtergeschmissen habe..Banking mit Auslanszahlungen (Ebics) also TRansfer nach China etc...kannste vergessen oder eine 500 oder mehr Euro Linuxsoftware kaufen, die aber zudem noch kacke ist
Paul P. schrieb im Beitrag #6163566: > Auslanszahlungen > (Ebics) also TRansfer nach China etc...kannste vergessen oder eine 500 > oder mehr Euro Linuxsoftware kaufen Echt, ist Firefox dann doch so teuer? Man Online-Banking im Browser. Und komm mir jetzt nicht mit Viren
-
Thread
ARDUINO SPI-Problem
} void loop() { digitalWrite(ss,LOW); delayMicroseconds(10); SPI.transfer(0x0F); delayMicroseconds(5); adcValue = SPI.transfer(0x0); digitalWrite(ss,HIGH); Serial.print("analog value ="); Serial.println(adcValue); Serial.print(
wenn nichts anderes > auf dem Bus ist. CS ist bei mir SS und wir ja auf LOW gesetzt bevor der Transfer beginnt.
-
Thread
AVR32: Wie Ausgänge/Eingänge schalten/einlesen
.pid = 0, // Was muß da rein? .size = sizeof(lcdcache), // transfer counter .r_addr = NULL, // next memory address .r_size = 0, // next transfer counter .transfer_size = PDCA_TRANSFER_SIZE_WORD
i.e. each time pdca_enable_interrupt_reload_counter_zero(0); // Enable now the transfer. pdca_enable(0); [/c]
-
Thread
STM32: SPI - HAL durch eigenen code ersetzen
hspi2,hdmatx,g_hdma_spi2_tx); HAL_SPI_RegisterCallback(&hspi2, HAL_SPI_TX_COMPLETE_CB_ID, &LcdDmaTransferComplete); } void LcdTransfer(const uint8_t * dataOut, size_t len) { LcdCsOn(); LcdWaitDmaDone(); if (len <= 4) { HAL_SPI_Transmit(&hspi2, (uint8_t*)dataOut, len, 100); } else
der Geschwindigkeitsvorteil durch anderen Code beim Aufsetzen des DMA und warten auf den fertigen Transfer zustande. Der sollte aber konstant sein, unabhängig von der Transferlänge. Ein besseres Maß wäre daher gesparte CPU Zyklen pro Transfer. Bauform B. schrieb im Beitrag #7875592: > Sollte man nicht
-
Thread
Sparsam Platine mit Eisen-III-Chlorid ätzen
bungard-leiterplatten-rohmaterial-fr4-roh-200x-300x1-5-35-35-200-x-300-doppelseitig35-35-443092 Oder Toner Transfer ?
erzeugt SVG, die habe ich dann zu Bitmap konvertiert und noch etwas nachbearbeitet, danach mit Toner-Transfer geaetzt).
-
Thread
memcpy Zweidimensionales Array -> Eindimensionales Array
liegt mein Fehler??? Deklaration: [c] char DisplayBuf[2][16]; // the Display Buffer char TransferBuf[16]; // the Transfer Buffer [/c] hier tritt die Warnung auf: [c] memcpy(&DisplayBuf[i], &TransferBuf, sizeof(TransferBuf)); [/c] Transfer Buffer wird gefüllt: [c] sprintf(TransferBuf
-
Thread
ATmega644 Baudratenproblem bie 2.5MBpps
Sorry, aber im Datenblatt auf der 1. Seite bei den Spezifikationen steht: >• Data transfer rates from 300 baud to 3 Mbaud >(RS422, RS485, RS232 ) at TTL levels. ausserdem habe ich mal noch was bei den Treibern gefunden: >• Data transfer rate to 1 Megabyte / second - D2XX Direct Drivers
Patrick B. schrieb: >>• Data transfer rates from 300 baud to 3 Mbaud >>(RS422, RS485, RS232 ) at TTL levels. > Data transfer rates from 300 baud to 3 Megabaud (RS422 / RS485 and at TTL levels) and 300 baud to 1 Megabaud (RS232).
-
Thread
speichern, aber wie?
>The SAM3S is able to sample data from the CMOS image >sensor without CPU intervention and transfer image data into internal or >external memory, steht im Datenblatt Und was steht im Datenblatt über den angesprochenen Transfer?
transmit, next transmit, current receive and next receive. Verstehe nicht ganz was du mit dem Transfer meinst
-
Thread
DMA: Burst Size und Transfer Width Einstellungen
und P2M) verwenden. Bei den Einstellungen des DMA-Channels gibt es eine Burst Size und eine Transfer Width für die Source als auch die Destination. Nach welchen Kriterien wählt man hier die richtigen Einstellungen aus? Bei SPI dachte ich an 8Bit Transfer-Width, weil das DataReg immer 8Bit Nachrichten
intelligenter ist, den Interrupt vom SSP Interface zu verwenden - allerdings besitzt das leider keinen "Transfer-Complete" Interrupt. Mein Prozessor ist der LPC1758 und ich verwende das SSP Interface.
-
Thread
Hilfe bei Kaufentscheidung: Drucker für Toner-Transfer-Methode
Soviel Aufwand für TonerTransfer? Der begrenzende Faktor ist bestimmt nicht die Auflösung des Druckers. Was spricht gegen gegen Phototransfer? Das hab ich schon mit meinem 300dpi problemlos durchgeführt.
(Braucht Erfahrung, Fotolack 'wird schlecht', ...) *Weitere Antworten* bitte nur zur *Toner-Transfer-Methode!* Vielen Dank & schönes WE, Florian
-
Thread
Arduino SPI read Infineon TLE5012B
spi_read (byte read_command) { digitalWrite(ss, LOW); // Chipselect auf low SPI.transfer(read_command); // Befehl an den Slave delay(0.2); byte miso= SPI.transfer(0); // Antwort vom Slave digitalWrite(ss, HIGH); // Chipselect auf high return miso; } [/
empfangen */ /*-----------------Antwort vom Slave----------------------*/ data1= SPI.transfer(0); // Für den Fall wenn der Sensor einen 16 Bit Wert zurücksendet ... data1 <<= 8; data1 |= SPI.transfer(0); /* 16Bit Data 2 empfangen */ data2= SPI.transfer(0)
-
Thread
24V SPS Signal auf 5V TTL
nicht. Nimm mal einen vernueftigen Strom an. 10mA ist vollkommen ausreichend. bei 63% Current Transfer Ratio macht das auf der anderen Seite ein Mindeststrom von 6.3mA. Pullup oder Pulldown von 4.7K dran und du bist auf der sichern Seite. Auf der Diodenseite machst du noch eine Z-Diode von 8.2
> > Nimm mal einen vernueftigen Strom an. 10mA ist vollkommen ausreichend. > bei 63% Current Transfer Ratio macht das auf der anderen Seite ein > Mindeststrom von 6.3mA. Pullup oder Pulldown von 4.7K dran und du bist > auf der sichern Seite. > Auf der Diodenseite machst du noch eine Z-Diode
-
Thread
[STM32] SPI über DMA lohnenswert?
beim Speichern auf >SD-Karte o.ä., deswegen die Frage. Du solltest den Aufwand, einen DMA-Transfer aufzusetzen mit dem Aufwand, einen Wert vom/zum SPI zu transferieren vergleichen. Wenn Du beispielsweise zur Programmierung pro Transfer 20 Bytes in den DMA Controller schreiben musst im Vergleich
wahrscheinlich Sinn machen, da Du den SPI nur mit 5.25MHz betreibst. Den DMA Kontroller für einen Transfer aufsetzen (Adressen setzen, Bytes setzen, go) kannst Du aber mit "fullspeed". Zum dritten, für die Speed Fans (wobei das bei dieser Geschwindigkeit keinen Sinn mehr macht) hat der STM32 verschiedene
-
Thread
NRF24L01+ test program for Arduino Uno
Im nicht-fast Mode wird das empfangene Paket angezeigt. Durch die Ausgabe via Terminal wird die Transfer-Rate heruntergebremst. Lars R. schrieb im Beitrag #4657301: > und 2Mbit? Nein weil Bitrate festverdrahtet ist auf 1 Mbit.
nicht-fast Mode wird das empfangene Paket angezeigt. Durch > die Ausgabe via Terminal wird die Transfer-Rate heruntergebremst. Darf ich noch einmal darauf zurück kommen? Auf welchen Wert wird die Transfer-Rate bei Ausgabe via Terminal aktuell heruntergebremst? Kannst Du abschätzen, was mit Deinem
-
Thread
USB-Kabel gesucht, das 1 GByte schneller als in 15 Sekunden überträgt
Device soll sie ja auch noch nebenher machen, ... MTP-> https://de.wikipedia.org/wiki/Media_Transfer_Protocol PTP-> https://de.wikipedia.org/wiki/Picture_Transfer_Protocol MSC-> https://en.wikipedia.org/wiki/USB_mass_storage_device_class
die von uns entwickelten Prüfgeräte mit USB 3 (Cypress FX3) schaffen um die 300MiByte/s im Bulk Transfer vom Device zum Host. Mit ganz normalem A auf B Kabel. Der Controller ist mit 320MiByte/s an den FPGA angebunden. Da ist aber kaum Overhead, nur Bulk Daten in großen Paketen.
-
Thread
SPI EEProm Hilfe gesucht
while(Read_EEProm_Status()!=0); //while(Read_EEProm_Status()!=0); cbi(PORTB,0); spiTransferByte(0b00000110);//write enable WREN sbi(PORTB,0); cbi(PORTB,0); spiTransferByte(0b00000010);//write command spiTransferByte(HighAdress);//high adresse spiTransferByte(LowAdress); /
//if ( status == 0b00000000 ){ //while(Read_EEProm_Status()!=0); cbi(PORTB,0); spiTransferByte(0b00000011); //read command spiTransferByte(HighAdress); //high adresse spiTransferByte(LowAdress); //low adresse for( i = 0; i < ANZAHL_BYTES; ++i ){ Daten[i] = spiTransferByte
-
Thread
Leseprobleme beim PIC24F32KA304
uint16_t Dummy; while( SPI2STATbits.SPITBF == true ) { } if (SPI2_TransferModeGet() == SPI2_DRIVER_TRANSFER_MODE_16BIT) SPI2BUF = pTransmitData; else SPI2BUF = pTransmitData; while ( SPI2STATbits.SRXMPT == true); if (SPI2_TransferModeGet
würd hier ein Semikolon spendieren } // warum das if?? Code wirkungslos if (SPI2_TransferModeGet() == SPI2_DRIVER_TRANSFER_MODE_16BIT) { SPI2BUF = pTransmitData; } else { SPI2BUF = pTransmitData; } while ( SPI2STATbits.SRXMPT == true); // hier
-
Thread
Fehlerhafte Kommunikation über LTC4332
LOW); SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE0)); Serial.println(SPI.transfer('h')); Serial.println(SPI.transfer('a')); Serial.println(SPI.transfer('l')); Serial.println(SPI.transfer('l')); Serial.println(SPI.transfer('o')); Serial.println(SPI.transfer('.')); Serial.println(SPI.transfer('.')); Serial.println(SPI.transfer('\n')); digitalWrite(SPI_CS, HIGH); } void loop() { delay(1000); } [/c] Der Code für die "Remote"-Seite wie folgt: [c] #include <SPI.h> char
-
Thread
wie udev von 2 identischen readern ohne serial einrichten ?
5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint
5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface
-
Thread
DMA-Datentransfer OV7670 -> ARM-MCU
DMAC_CHAN_SRC_WIDTH_8 | DMAC_CHAN_DEST_BURST_1 | DMAC_CHAN_SRC_BURST_1 | DMAC_CHAN_TRANSFER_SIZE(trans)); } /* Start channel transfer */ dmadrv_dat.pdma->dma_chan [ch].config_ch = (DMAC_CHAN_FLOW_D_P2M | DMAC_CHAN_ENABLE | DMAC_SRC_PERIP(9) ); sts = _NO_ERROR
Unterstützung. Es werden immer ganze 32-bit Register übertragen. Die Auswahl der Pins geschieht über Transfer Width. Die LEDs blinken jetzt per DMA.
-
Thread
STM32F7 - DCache & DMA
Bei DMA und Caches gilt genrell: * Wenn per DMA aus dem RAM gelesen wird: Vor dem Transfer einen Cache Writeback auslösen. Ansonsten liegen die Daten möglicherweise noch im Cache und nicht im RAM. * Wenn per DMA in das RAM geschrieben wird: Vor dem Transfer einen Cache Invalidate
Bei DMA und Caches gilt genrell: > > * Wenn per DMA aus dem RAM gelesen wird: > > Vor dem Transfer einen Cache Writeback auslösen. Ansonsten liegen die > Daten möglicherweise noch im Cache und nicht im RAM. > > * Wenn per DMA in das RAM geschrieben wird: > > Vor dem Transfer einen Cache
-
Thread
Petition Briefgeheimnis
alle SWIFT-Geldtransaktionen: http://www.heise.de/newsticker/Weg-frei-in-Europa-fuer-Bankdaten-Transfer-an-die-USA--/meldung/142622
SWIFT warnt vor Aushöhlung der Privatsphäre bei Bankdaten-Transfer http://www.heise.de/security/SWIFT-warnt-vor-Aushoehlung-der-Privatsphaere-bei-Bankdaten-Transfer--/news/meldung/144829