-
Thread
Aufpressdruck beim Belichten
zufrieden mit dem Board; wenn ich daran denke, dass ich mich das letzte Mal (2007) mit der Toner-Transfer-Methode herumgequält habe.
Ich sehe einige Löcher, keine Löcher in vielen Pads, etliche Retuschierungen. Da lobe ich mir den Transfer, damit sind vor allem solche Abweichungen zwischen Vorlage und Platine deutlich minimaler. Und man sieht selbst winzigste Fehlstellen klar und deutlich vorm Ätzen.
-
Thread
Xmega mit USB on board
(); } else { udi_cdc_write_buf(TransferString, sizeof(TransferString)); } }return count; [/c] die write Funktion des ASF: [c] iram_size_t udi_cdc_multi_write_buf(uint8_t port, const int* buf, iram_size_t size) { irqflags_t
mal keine 0 Zeichen oder what ever mit zu senden indem du den hier machst: udi_cdc_write_buf(TransferString, strlen(TransferString)); Wenn das Problemlos geht, schau dir mal die Taktversorgung an... Grüße Basti
-
Thread
Anfängerfrage konkret zu Optokopplern
alle eher theoretisch und helfen mir nicht konkret genug. Meine Konkreten 4 Fragen: - "Current Transfer Ratio" Also "Gleichstrom-Übertragungsverhältnis" wird hier mit mindestens 50% angegeben. Bedeutet dies dass ich mit meinen 12 V Input nur minimal 6 V Output schalten kann? Wenn ja, ist ja quasi gar
Hannes schrieb im Beitrag #5297732: > - "Current Transfer Ratio" Also "Gleichstrom-Übertragungsverhältnis" > wird hier mit mindestens 50% angegeben. Bedeutet dies dass ich mit > meinen 12 V Input nur minimal 6 V Output schalten kann? Wenn ja, ist ja >
-
Thread
Linux UDEV und rules + FTTI
5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint
5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Interface
-
Thread
C Code Optimierung für LCD (AVR32)
#define DB13 AVR32_PIN_PB12 #define DB14 AVR32_PIN_PB08 #define DB15 AVR32_PIN_PB09 //1st transfer (Upper) gpio_port->ovr = rs << (RS & 0x1F) | (1 << (RD & 0x1F)) | (0 << (WR & 0x1F)) | ((befehl>>2)&0x0001) << (DB0 & 0x1F) | ((befehl>>3)&0x0001) << (DB1 & 0x1F) | ((befehl>>4)&0x0001) << (DB2 &
Memory-mapped an (MMIO). Große MCs haben ja in der Regel einen externen Memory-Bus. Und dann geht der Transfer ruckzuck per DMA ganz ohne irgendwelches umständliches Bitgewackel. Die CPU kann dabei sogar was anderes machen. Peter
-
Thread
Variable von einer anderen Klasse verwenden
Roland schrieb im Beitrag #7069593: > y->WertTransfer(b); - 'y' ist nicht definiert - falls 'y' vom Typ 'ClassY' sein soll -> ClassY hat keine Methode 'WertTransfer()' - falls 'y' vom Typ 'ClassX' ist, dann wäre der Name sehr unglücklich gewählt
Dein WertTransfer() steht übrigens auch außerhalb von X.
-
Thread
[AVR] MLX90609 Temperatur berechnen
entsprechenden Sensor selektieren SPI_SendByte(ucCommand); // Befehl senden unStatus = SPI_TransferWord(0xFF); // Antwort holen while(!unStatus & (1 << 15)) { unStatus = SPI_TransferWord(0xFF); } PORTB |= (1 << PB2); // Den entsprechenden Sensor deselektieren _delay_us
entsprechenden Sensor selektieren SPI_SendByte(ucCommand); // Befehl senden unStatus = SPI_TransferWord(0xFF); // Antwort holen while(!unStatus & (1 << 15)) { unStatus = SPI_TransferWord(0xFF); } PORTB |= (1 << PB2); // Den entsprechenden Sensor deselektieren _delay_us
-
Thread
MSP430- SD Card-Bluetooth how to transfer a file??
for your reply. I am really confused have searched almost every where. i want to implement file transfer over bluetooth UART on my Microcontroller. it should be able to transfer .exe and txt files to a PC or PDA. My research brought me to OBEX and FTP. But i cannot find proper tutorials for the implementation
for your reply. I am really confused have searched almost every where. i want to implement file transfer over bluetooth UART on my Microcontroller. it should be able to transfer .exe and txt files to a PC or PDA. My research brought me to OBEX and FTP. But i cannot find proper tutorials for the implementation
-
Thread
AtMega 48 Timmer
} if (frei < 0) frei = 5 - (frei * -1); SPI_Transfer(send_byte); send_byte = 0; } [/code] gruß Sascha
anpassen? [c] ISR(TIMER1_COMPA_vect){ send_tlc5941_pwm(/*Array mit Bild*/) } void SPI_Transfer(void) { /*Datenausgabe an beliebigem Pin*/ /*Clock 0>1>0*/ } [/c] Vielen Dank für die Antworten! Gruss Michael
-
Thread
PIC32MX795F512L UART-Nummern
set \r as ending character // set the events: we want the UART2 rx interrupt to start our transfer // also we want to enable the pattern match: transfer stops upon detection of CR DmaChnSetEventControl(chn, DMA_EV_START_IRQ_EN|DMA_EV_MATCH_EN|DMA_EV_START_IRQ(_UART1_RX_IRQ)); // set
weniger dazu gedacht als UART Beispiel zu dienen sondern soll in erster Linie als Referenz für DMA Transfer herhalten.
-
Thread
komplexes Problem mit Grafik und Dateisystem auf Disco-F746NG
Johannes S. schrieb im Beitrag #6691927: > Nur sollte das eleganter > gehen, indem man vor dem Transfer einen flush auslöst. Ich kenne das Problem vom H7xx. Du kannst per MPU den RAM-Bereich vom Cache aussparen.
[code] SCB_CleanDCache : 24 ... 35 µs SCB_CleanDCache_by_Addr(64000 Byte) : 85 ... 95 µs DMA Transfer 64000 Byte : ~350 µs (mit CleanDCache) DMA Transfer 64000 Byte : ~330 µs (ohne Clean, write through SRAM) [/code] Der Renderbuffer ist jetzt 20 Zeilen groß, ein kompletter Screen ist damit in 480
-
Thread
Wo gibts USB 3.0 ICs? Gesperrt
große Menge an RAM, es gibt keine Hardware FIFOs, die Endpoint und GPIF Fifos sind im RAM und der Transfer geht per DMA. Man kann bis zu 64kByte Speicher dafür reservieren.
andere Spannungspegel -I2C 1MHz mode hängt sich ständig auf -UART verschlugt nach ersten USB-DMA Transfer ständig Zeichen und printet dann nur noch Mist ...und und und Ein Grauen mit diesem Teil Gruß Marco
-
Thread
Timer-Interrupt bei ATTiny2313 kommt nicht
usidriverStatus_t { unsigned char masterMode : 1; //!< True if in master mode. unsigned char transferComplete : 1; //!< True when transfer completed. unsigned char writeCollision : 1; //!< True if put attempted during transfer. }; volatile struct usidriverStatus_t spiX_status; //!< The driver
SPI module. * Calling this function in master mode starts a transfer, while in slave mode, a * byte will be prepared for the next transfer initiated by the master device. * If a transfer is in progress, this function will set the write collision flag * and
-
Thread
private Kalibrierungen
genügend Marge sein um eine sichere Kalibrierung durchzuführen. Für AC steht ein Fluke 540A Transfer Standard zur Verfügung. Für die unteren Multimeterbereiche reicht somit ein Funktionsgenerator. An größeren Spannungen bin ich noch dran. Für den Widerstand und somit auch Strom habe ich diverse
Wie gesagt, ich habe einen Fluke 540B Thermal transfer standard. Damit kann man einen AC RMS Wert auf eine DC Spannung zurückführen. Und das 6 mal besser als der beste AC Messbereich des 34401A. Es freut mich, dass hier noch etwas passiert :)
-
Thread
Beim 16x1 LCD will der Zeilenwechsel nicht klappen
write mode movlw B'00110000' ; InitLcd step 1: 8 bit interface call Transmit ; transfer 8 bit instruction signal movlw B'00110000' ; InitLcd step 2: 8 bit interface call Transmit ; transfer 8 bit instruction signal movlw B'00110000' ; InitLcd step 3: 8 bit interface call Transmit ; transfer 8 bit instruction signal movlw B'00100000' ; InitLcd step 4: 4 bit interface call Transmit ; transfer 8 bit instruction signal call LcdBusy ; Lcd busy? If Lcd busy, busy
-
Thread
AT42QT1070 - Hat jemand Erfahrung damit ?
Im Datenblatt des Herstellers steht es so drin: 1. The host initiates the transfer by sending the START condition 2. The host follows this by sending the slave address of the device together with the WRITE bit. 3. The device sends an ACK. 4. The host then sends the memory address
Achim S. schrieb im Beitrag #4253151: > 1. The host initiates the transfer by sending the START condition Der Host beginnt den Transfer durch Senden von START. > 2. The host follows this by sending the slave address of the device > together with the WRITE bit.
-
Thread
Tonertransfer mit beschichtetem Papier
Ergebniss OK ist? Das ist Spiel (Foto am Fensterbrett): Licht und Risse vom Sandpapier (vor dem Transfer). Das Ergebnis ist Wunderbar!
#3660968: > Das Ergebnis ist Wunderbar! Da seh ich aber was ganz Anderes! Wenn meine Toner-Transfer Zeugs so aussehen würde, hat ich's aufgegeben!
-
Thread
Tonertransfermethode
tonertransferpapier, funktioniert super http://www.ebay.co.uk/itm/A4-Size-100-Sheets-Heat-Toner-Transfer-Paper-f-DIY-PCB-Electronic-Prototype-Mak-/400381293205?pt=UK_Computing_Printer_Paper_Accessories_ET&hash=item5d3895b295
glattes und sehr dünnes Papier. Pass auf, es gibt auch welches mit ein Plastik Anteil. Zum Toner Transfer ist das super geeignet, nach 2-3 minuten im Wasser lost sich das Papier vollständig, der Transfer ist 100% Man muss nur das Papier mit hitze-ertragendes Klebeband auf ein normales A4 kleben, und
-
Thread
FTDI USB 2.0 Chips Virtual COM Port Geschwindigkeit?
"RS232/RS422/RS485 UART Transfer Data Rate up to 12Mbaud. (RS232 Data Rate limited by external level shifter)." Datenblatt FT2232H. 1. Seite
direkt über USB geht oder verstehe ich etwas falsch? ich schrieb: > "RS232/RS422/RS485 UART Transfer Data Rate > up to 12Mbaud. (RS232 Data Rate limited by > external level shifter)." > > Datenblatt FT2232H. 1. Seite
-
Thread
Probleme beim Auslesen zweier MCP23S17 mit ATmega2560
0x40 | (adr<<1))); spi_transfer(reg); spi_transfer(data); PORTB |= (1<<PB0); _delay_ms(1); }[/c] [c]uint8_t mcp_read(uint8_t adr, uint8_t reg) { uint8_t data = 0; PORTB &=~ (1<<PB0); spi_transfer((0x41 | (adr<<1))); spi_transfer(reg); data = spi_transfer(0xFF); PORTB |= (1<<PB0); _delay_ms(1); return data; }[/c] Im Hauptprogramm wird folgendes in der while-Schleife ausgeführt: [c]wertra = (mcp_read(
-
Thread
STM32 HAL_SPI_Transmit_IT blockiert
Er macht genau was er soll. Du ziehst den CS auf low startest den Transfer und dann geht der CS auf high. Was du aber willst ist folgendes: Möglichkeit A: Aktives Warten - müsste mit folgendem gehen: [c]HAL_SPI_Transmit(&hspi3, buffer, 1);[/c] Möglichkeit B: Du
ausgeführt wurden, sollte das Signal GPIO_PIN_9 unmittelbar auf HIGH gehen, nicht erst nachdem der SPI-Transfer beendet ist. Sonst würde der Interrupt-Betrieb keinen Sinn machen. Er sollte nicht-blockierend sein. > Du ziehst den CS auf low startest den Transfer und dann geht der CS auf > high. In der
-
Thread
Zeiger in Integer umwandeln
pointer conversion" in der *.c #pragma romdata eedata_scn=0xf00000 rom unsigned char eedata_TransferFehler[MaxTransferFehler]; #pragma romdata //int x = 42; int adr; // // ---->>>> Zeiger in Integer umwandeln //int* ptr = (unsigned int*)(void*)&eedata_TransferFehler[0]; oder int* ptr
? Wenn es ein Qualifier ist dann sollte es so gehen: [c] rom int * ptr = (rom int*) &eedata_TransferFehler[0]; [/c]
-
Thread
Problem mit Blackfin SPI-DMA
anschließend die Daten für das Register. Dabei darf das Chipselect nicht auf high gehen. Wenn der Transfer abgeschlossen ist [1 Byte (Register) + 1-64Byte (Daten)] soll #CS wieder auf high gehen. Deshalb habe ich mich für eine SoftwareCS Leitung entschieden, welche nach Abschluss des Transfers in einer
Interrupt Behavior ------------------ The behavior of the SPI interrupt signal depends on the transfer initiation mode bit field (TIMOD) in the SPI Control register. In DMA mode, the interrupt can be generated upon completion of a DMA multiword transfer or upon an SPI error condition (MODF, TXE
-
Thread
T-Shirt Hitzepresse für Toner Transfer (erfahrungen?)
das schon mal jemand versucht hat? Ich glaub jeder von uns hat schon mal das Bügeleisen zum Toner Transfer missbraucht oder? Die Ergebnisse sind jeweils von "naja" bis "ok". Mein Kumpel hat mich heute auf die Idee gebracht das ganze mit einer T-Shirt Hitzepresse zu versuchen. Die Dinger sind 100€
-
Thread
STM32: SPI-Transfer laut Datenblatt ohne Interrupts
empfangenen Daten abholen ... Ansonsten bleibt ja der einfachere Weg, wo halt kein kontinuierlicher Transfer stattfindet. Die Frage ist letzlich, ob die "Gegenstelle" solche Pausen verdaut oder sich daran verschluckt.
-
Thread
SPI-Routine Fehlerhaft
read_command ) { digitalWrite (ss,LOW); unsigned char b2,b1,b0; delayMicroseconds(50); SPI.transfer (read_command); delayMicroseconds(5); b2 = SPI.transfer(0x00); b1 = SPI.transfer(0x00); b0 = SPI.transfer(0x00); Serial.println(b2, BIN); Serial.println(b1, BIN); Serial.println(b0, BIN);
schwankenden Werten zu kämpfen. Nun habe ich mir mal die Binär-Werte angeschaut die über das SPI-Transfer ankommen am ATmega 168. b2 ist immer 0 und b1 sowie b0 sind mal 8 Bit lang und mal auch nur 4 Bit lang. Also gehe ich davon aus, dass ein Fehler in der SPI Routine dran Schuld sein muss. Ist mein
-
Thread
Kontrolle über LEs
; sout : out std_logic; cout : out std_logic ); end component; signal carry_transfer: std_logic_vector(LINE_WIDTH downto 0); begin carry_transfer(0) <= INPUT; f: for i in 1 to LINE_WIDTH generate c: carry_sum port map (sin => '1', cin => carry_transfer(i-1), cout => carry_transfer(i)); end generate; OUTPUT <= carry_transfer(LINE_WIDTH); end;[/vhdl] Im RTL-Viewer sieht es wie im angehängten Bild aus, in det Technology Map ist es dann vollständig verschwunden. Ich
-
Thread
DMX Lib für Xmega bekannt?
[c]/* dmx.c Functions to send DMX data via USART Uses DMA to minimize system load during transfer of 512 bytes payload */ #include "dmx.h" #include <stdlib.h> #include <avr/io.h> //The Buffer from where the DMX Data is read, Filled for test purpose with ABCDEABC... uint8_t dmxdata
empty DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_DRE_gc; //Set number of dmx channels to transfer DMA.CH0.TRFCNT = dmxchannels; //8Bit source register DMA.CH0.SRCADDR0 =(((uint16_t)(&dmxdata))>>0*8)&0xFF; DMA.CH0.SRCADDR1 =(((uint16_t)(&dmxdata))>>1*8)&0xFF; DMA.CH0.SRCADDR2
-
Thread
AVR Potentiometer schwankt total
reti ; 9 TC1 Overflow reti ;10 TC0 Overflow reti ;11 SPI, STC Serial Transfer Complete reti ;12 UART Rx Complete reti ;13 UART Data Register Empty reti ;14 UART Tx Complete reti ;15 ADC Conversion Complete reti ;16 EEPROM Ready
reti ; 9 TC1 Overflow reti ;10 TC0 Overflow reti ;11 SPI, STC Serial Transfer Complete reti ;12 UART Rx Complete reti ;13 UART Data Register Empty reti ;14 UART Tx Complete reti ;15 ADC Conversion Complete reti ;16 EEPROM Ready
-
Thread
"Mini-Webserver" ESP8266/ArduinoIDE
Pflicht Sicher? Ich zittiere aus RFC2616: "Applications SHOULD use this field to indicate the transfer-length of the message-body, unless this is prohibited by the rules in section 4.4." SHOULD ist nicht MUST. Ich zittiere zwei von mehreren Alternativen aus Section 4.4: "... the transfer-length is defined by use of the "chunked" transfer-coding" "By the server closing the connection." Wobei ich die Verbindung nur im Notfall schließen würde. Chunked Übertragungen eignen sich in der Praxis durchaus bei unbekannter Content-Length
-
Thread
I²C Slave. Probleme mit REP_START
kann, es kann aber auch bedeuten, dass der Slave gerade etwas ungültiges empfangen hat oder den Transfer unterbrechen will. Warum man das so spezifiziert hat, ist mir ehrlich gesagt unklar.
some real-time function and is not ready to start communication with the master. 3. During the transfer the receiver gets data or commands that it does not understand. *4*. During the transfer, the receiver cannot receive any more data bytes. 5. A master-receiver needs to signal the end of the
-
Thread
DMA Display-Übertragung auslesen
Displayansteuerung ist sehr einfach. Die Grafik-Inhalte werden im SRAM geändert, danach wird ein DMA-Transfer gestartet. Ein anderes System mit der gleichen Hardware soll diesen Transfer "mitlesen". Meine Idee ist, die Datenbusse zu verbinden und beim Mitlese-System einen umgekehrten DMA-Transfer zu starten
parallel einzulesen. Beim RX610 mußt Du die "Wait control function" benutzen. Dann wartet der Transfer, bis TFT und 2. RX quittiert haben. Ob das sinnvoll ist, bleibt die Frage.
-
Thread
stm32 SPI NSS Signal Anfänger
SPI_I2S_SendData(SPI_MASTER, SPI_MASTER_Buffer_Tx[TxIdx++]); } /* Wait for DMA1 channel4 transfer complete */ while (!DMA_GetFlagStatus(SPI_SLAVE_Rx_DMA_FLAG)); /* Check the correctness of written data */ TransferStatus = Buffercmp(SPI_SLAVE_Buffer_Rx, SPI_MASTER_Buffer_Tx, BufferSize); /* TransferStatus = PASSED, if the transmitted and received data are equal */ /* TransferStatus = FAILED, if the transmitted and received data are different */ while (1) {} } /**
-
Thread
Arduino DUE und SPI - Schnittstelle, MOSI mit Oszi messen
SPI.beginTransaction(settingsA); digitalWrite(4,LOW); // Ziehe SlaveSelect auf LOW SPI.transfer(A); // Sende nun die ersten 8 Bit SPI.transfer(B); // Sende nun die zweiten 8 Bit digitalWrite(4,HIGH); // Setze SS auf HIGH SPI.endTransaction(); delay(1000); } ================
schicken byte B=0b00110010; // Im Anschluss soll das Bitmuster direkt losgeschickt werden SPI.transfer(CS,A,SPI_CONTINUE); // Sende nun die ersten 8 Bit SPI.transfer(CS,B); // Sende nun die zweiten 8 Bit } [/c]
-
Thread
STM32F RAM auslesen geht das?
SEGGER RTT machen: https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer/
RTT machen: > https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer/ Achtung: Werbung eines Mitarbeiters.
-
Thread
JTAG-Adapter Black Magic Probe
timeout = timeout) File "c:\Python27\lib\site-packages\usb\core.py", line 1043, in ctrl_transfer self.__get_timeout(timeout)) File "c:\Python27\lib\site-packages\usb\backend\libusb0.py", line 593, in ctrl_transfer timeout File "c:\Python27\lib\site-packages\usb\backend\libusb0
timeout) File "/home/jojo/.local/lib/python2.7/site-packages/usb/core.py", line 1043, in ctrl_transfer self.__get_timeout(timeout)) File "/home/jojo/.local/lib/python2.7/site-packages/usb/backend/libusb1.py", line 883, in ctrl_transfer timeout)) File "/home/jojo/.local/lib/python2.7
-
Thread
Welche NRF24L01+ 2.4 Ghz Transmitter taugen?
mir bisher: [c] CSN_LOW; /* Kommando Wort senden fuer Payload mit ACK*/ SPI_TransferByte(NRF24L01_CMD_W_TX_PAYLOAD); for (uint8_t i = 0; i < len; i++) SPI_TransferByte(*(ptr++)); CSN_HIGH; /* RF Modul sendet jetzt */ CE_HIGH; [/c]
RF_PowerUpTX(); CSN_LOW; /* Kommando Wort senden fuer Payload mit ACK*/ SPI_TransferByte(NRF24L01_CMD_W_TX_PAYLOAD); /* Datenbytes in Pipe einspielen */ for (uint8_t i = 0; i < len; i++) SPI_TransferByte(*(ptr++)); CSN_HIGH; /* RF Modul sendet jetzt.
-
Thread
AVR Interrupts "kaskadieren"
Peter Dannegger schrieb im Beitrag #2974580: > Ein SPI-Transfer dauert 16 CPU-Zyklen, das ganze Brimborium zum > Interrupt betreten und verlassen dauert erheblich länger. Mit Transfer meinst du 8 Bit, richtig? 16 Zyklen stimmt aber nur, wenn die Gegenseite
@ Michael Reinelt (fisa) >Mit Transfer meinst du 8 Bit, richtig? 16 Zyklen stimmt aber nur, wenn >die Gegenseite entsprechend schnell kann. Laut Datenblatt verträgt der >ADS1248 500 ns SCLK-Takt, also 2 MHz. Damit ist ein Byte in
-
Thread
Verständnissfrage USB-Kommunikation
zwischen 3ms und 16ms bis der Interrupt kommt. Frage: was blockiert denn hier? Ist das bei Bulk-Transfer immer so, dass eine gewisse Wartezeit eingehalten werden muss? Kann mir jemand erklären, was genau hier auf dem Bus passiert dass zu dem o.g. Verhalten führen kann? Danke
denn die Zeit war genau auf 0 beim Start) Im Bild Zeile 196 sind Daten enthalten. Der folgende Transfer erfolgt nicht 10ms später, sondern 31ms. Danach geht es wieder alle 10ms weiter. Wie kann ich mir das erklären? Und es kann hier nicht daran liegen, das 286 Bytes übertragen wurden. 286 Bytes @ 12MHz
-
Thread
SD-Card an MSP die 2te
token to signify the start of the data spiSendByte(0xfe); // clock the actual data transfer and transmitt the bytes // put CRC bytes (not really needed by us, but required by MMC) spiSendByte(0xff); spiSendByte(0xff); // read the data response xxx0<status>1 :
* The size of the block to be transferred */ DMA0SZ = count; /* Configure the DMA transfer*/ DMA0CTL = DMAREQ | /* start transfer */ DMADT_0 | /* Single transfer mode */ DMASBDB |
-
Thread
Erfahrung mit SPI Slave und Spartan 6 FPGA?
schieben (über den MOSI), anders gehts nicht. Wenn der Transfer abgeschlossen ist, kannst du mit den parallelen Daten ja machen was du willst. Will der Master was vom Slave lesen, muss der Slave die Daten in seinem Schieberegister bereitstellen und beim Transfer raus schieben. Bei jedem SPI Transfer wird vom Master sowieso das Register des Slave ausgelesen (über MISO). Du musst also immer über die zwei Schieberegister gehen.
-
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]