-
Thread
MATLAB (digitaler Regler)
extra in Form von Blöcken berücksichtigen. Du kannst einfach, wie in meinem Bild, eine "diskrete transfer function" vor eine kontinuierliche Übertragungsfunktion (transfer function) setzen. In den anzugebenden Koeffizienten bei der discrete transfer function ist die Abtastfrequenz SOWIE die Form des Übertragungsverhaltens
-
Thread
SPI Bus am Raspberry
Problem nicht so ganz. Den bus kann man doch wunderbar ansprechen mit ioctl: struct spi_ioc_transfer SpiTransfer[1]; Status = ioctl (FileSpiDevice, SPI_IOC_MESSAGE(1), &SpiTransfer[0] ); Und dann setzt man sich hin und implementiert eine Basiskommunikation zum Chip, um Modi zu
Beitrag #6230450: > Den bus kann man doch wunderbar ansprechen mit ioctl: > struct spi_ioc_transfer SpiTransfer[1]; > Status = ioctl (FileSpiDevice, > SPI_IOC_MESSAGE(1), > &SpiTransfer[0] ); > Und dann setzt man sich hin und implementiert eine Basiskommunikation > zum Chip
-
Thread
SPaceloop BYCnMemory XL 64GB
bEndpointAddress : 0x81 (Direction=IN EndpointID=1) bmAttributes : 0x02 (TransferType=Bulk) wMaxPacketSize : 0x0200 (max 512 bytes) bInterval : 0xFF (at most 1 NAK each 255 microframes) ----------------- Endpoint Descriptor ----------------
bEndpointAddress : 0x02 (Direction=OUT EndpointID=2) bmAttributes : 0x02 (TransferType=Bulk) wMaxPacketSize : 0x0040 (max 64 bytes) bInterval : 0xFF (at most 1 NAK each 255 microframes)
-
Thread
ISP Programmierung eines ATmega8L mit einem XC161
u8bEmpfangen; t_u8bit u8bLetztesByte; t_u8bit u8bVorletztesByte; t_u8bit u8bCount; t_u8bit u8bTransferOK; u8bCount = 0; u8bTransferOK = FALSE; while (u8bTransferOK == FALSE && u8bCount < MAX_TRANSFERS) { ++u8bCount; u8bTransferOK = TRUE; //Chip Erase
deaktiviert wird. Wait(WAITTIME); if (u8bTransferOK == TRUE) { return EXIT_SUCCESS; } else { return EXIT_FAILURE; } }[/c] Das Programm bleibt einfach drauf. :( Danke schon mal im Voraus. PS: [c]#define WAITTIME
-
Thread
Laminator A230 für Toner Transfer
Hallo zusammen ich habe die Suche bemüht und auch eine Hülle und Fülle an Beträgen dazu gelesen. Ich habe mir einen Olympia A230 Laminator gekauft da die hier im Forum erwähnten Laminatoren von Conrad etc nicht mehr erhältlich sind. Der Laminator ist ein so genannter Heiß Kalt Laminator mit einem Umschalter. Im Inneren habe ich eine kleine Platine sowie 2 Bimetallschalter gefunden. Kann mir vielleicht jemand helfen und sagen wie diese zusammenarbeiten und gegen welche Typen ich sie austauschen sollte? Gruß Sebastian
-
Thread
Automatic Transfer Switches Umschalten von 230V
Hallo, evtl. habt ihr eine Idee. Ich möchte 230V unterbrechungsfrei umschalten(ohne mechn. Relais). Sinn dieser Schaltung ist es, zwischen einen Wechselrichter und heimnetz um zu schalten. Als Verbraucher hängt dann ein PC-Server dran. Es doch zwei Thyristoren(antiparallel) oder ein Triac funktionieren. Mein Problem ist noch, das ich das ganze nicht allpolig machen kann. Was passiert, wenn ich ein Leiter des Wechselrichters auf dem Hausnetz N lege. Ich denke, der FI kommt. Danke Euch! Kai
-
Thread
STM32 DMA Transfer während Taktänderung
und knackig, weiß jemand wie sich der DMA Controller eines STM32 verhält, wenn ich während einem Transfer an der Taktschraube drehe? Laut Datenblatt hängt der DMA Controller wie Core und Memory an AHB. Konkret arbeite ich grad mit einem L431, ich nehme aber an, dass alle DMA-Varianten (2 oder mittlerweile
-
Thread
STM32F4 Transfer Error
Interrupts des DMA aktiviert, und damit festgestellt, dass es anstatt dem Transmit Complete zu einem DMA Transfer Error (TEIF) IRQ kommt. Auf den beiden funktionierenden Boards kann ich das Verhalten nachstellen, in dem ich das ADC_Setup() an anderen Stellen im Code platziere (Es scheint also wirklich daran
ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 12, ADC_SampleTime_480Cycles); // Enable DMA request after last transfer (Single-ADC mode) ADC_DMARequestAfterLastTransferCmd(ADC1, ENABLE); // Enable ADC1 DMA ADC_DMACmd(ADC1, ENABLE); // Enable ADC1 ADC_Cmd(ADC1, ENABLE); ADC_SoftwareStartConv
-
Thread
Empfehlenswerte Laminiergeräte für das Toner-Transfer verfahren?
vermuten lässt, bin ich auf der suche nach halbwegs Empfehlenswerten Laminiergeräten für das Toner-Transfer verfahren. Mir kommt es bei einem passenden Laminiergerät hauptsächlich auf die "Langlebigkeit" der Rollen und des Heizelements an, die Elektronik zur Temperatur Regelung ist Ersteinmal zweitrangig
-
Thread
m16c usb bulk transfer
Treiber: Ich benutze den beim EvalBoard mitgelieferten Treiber "mitsuusb.sys". Er hat alle 4 Transfer Methoden implementiert. Ich weiss aber nicht ob es dabei jeweils Einschränkungen gibt, da es sich um so etwas wie eine Demo-Version handelt. Zur USB 1.1 Frage: ich sende sowieso nur mit 64 Byte
-
Thread
USB Controller > 12MBit/s
Die Festplatten laufen asynchron oer im Interrupt-Transfer. Allerdings kenne ich keine universellen Controller, die diese Geschwindigkeit schaffen. Ich nehme an, diese ATA-Controller sind FPGAs oder sowas, die das Protokoll in Hardware machen, deshalb sind
Festplatten am USB laufen im Bulk-Transfer, das ist ein Modus mit gesicherter Übertragung, aber ohne gesicherte Übertragungszeit. Grundsätzlich kann der USB immer nur pünktlich oder sicher, nicht beides.
-
Thread
Transistor - Kollektor, Emitter
Transistor ist ein Kunstwort und setzt sich aus 2 Wörtern zusammen. Transfer und Resistor Ralph Berres
> Transfer zu meiner Zeit ein "transform" weil der Widerstand des Bauteils transformiert wird.
-
Thread
Zynq: Messdaten via DMA an Ethernet senden
TtcTimerFlag wieder decrementiert. Bei jedem Überlauf von TTC0 wird ebenfalls geprüft, ob der DMA-Transfer bereits abgeschlossen ist (TxDone und RxDone - Flags) und ggf. ein neuer Transfer eingeleitet. Dabei werden die Daten aus dem StreamingGenerator wieder weiter an die LED gesendet. [c] while(TxPerfDone
TcpSlowTmrFlag) { tcp_slowtmr(); TcpSlowTmrFlag = 0; } xemacif_input(netif); transfer_data(); }[/c] Per Ethernet Daten zu senden funktioniert auch wunderbar. Das FPGA verbindet sich als Client mit dem PC. Ich erhalte eine sich wiederholende Zahlenfolge von 0 bis 9 und kann
-
Thread
RFM12 vs nrf24l01
Lukas K. schrieb im Beitrag #2859233: > Gehe ich richtig in der Annahme, dass die funktion > SPI_transfer eine in Software realisierte SPI schnittstelle ist. Ja. > Könnte ich diese Funktion mit der Funktion SPI_Read ersetzen oder muss > ich unterscheiden zwischen SPI_Write und SPI_Read? Lediglich die SPI_Transfer und SPI_init ist Hardwareabhängig, daher brauchst du auch nur die anfassen. Lukas K. schrieb im Beitrag #2859251: > Noch eine kleine Frage: Wozu dienen diese zeilen? > [c]#ifndef _nrf24l01_h_
-
Thread
I2C Anfänger-Probleme
); // start last byte transfer without acknowledge while (!(TWCR & (1<<TWINT))); // wait for response val[i]=TWDR; // read databyte from TWDR } else { //printl_I
TWEN); // start last byte transfer without acknowledge while (!(TWCR & (1<<TWINT))); // wait for response val[i]=TWDR; // read databyte from TWDR } else { //printl_I
-
Thread
EBAY PLASMA TV für 31 euro
>Payment methods: (1)Western Union money transfer (2)bank wire transfer >I AM SORRY I DO NOT ACCEPT CHECK! THANK YOU VERY MUCH! Sorry,Chinese >currently can not yet use the business with "PAYPAL Lol wieder so eine western union Abzocke ...
>Payment methods: (1)Western Union money transfer (2)bank wire transfer Das mit dem Wire Transfer erinnert mich irgendwie an de "Nigeria-Connection" Anschreiben: "Hallo, ich bin der Prinz von sonstewo, und muß ganz viel Geld loswerden. "
-
Thread
Übertragungsfunktion aus diskreten Werten
units.it/ramponi/teaching/DSP/materiale/Ch5%28x%293e.pdf#page=29 "the FDLS algorithm produces a transfer function that approximates an arbitrary frequency response" also aus Messwerten wird eine Übertragungsfunktion (ein IIR-Filter wählbarer Stufenzahl) angenähert. Nein, das war die falsche Methode
Simulink braucht man dies nichteinmal zu machen. Einfach einen zwei Blöcke mit Eingangsprung und Transfer Function erstellen + scope. In Matlab ist dieser Link nützlich: https://de.mathworks.com/help/symbolic/compute-z-transforms-and-inverse-z-transforms.html Da muss man erstmal die Übtragung in
-
Thread
MMC CMD0 Response, oder nicht?
gewartet wird. [code] do { // send dummy bytes with CS high before accessing spiTransferByte(0xFF); spiTransferByte(0xFF); spiTransferByte(0xFF); spiTransferByte(0xFF); // resetting card, go to SPI mode r1 = mmcSendCommand(MMC_GO_IDLE_STATE, 0); #ifdef MMC_DEBUG
-
Thread
SHARP LJ640U34 von Pollin?
- Pin 9 = V-SYNC - Pin 10 = nicht belegt - Pin 11 = H-SYNC - Pin 12 = GND - Pin 13 = DATA TRANSFER CLOCK - Pin 14 = GND - Pin 15 = DATA SIGNAL ODD COLUMN - Pin 16 = DATA SIGNAL EVEN COLUMN
Pin 10 = nicht belegt - Pin 11 = H-SYNC = HD - Pin 12 = GND - Pin 13 = DATA TRANSFER CLOCK = CLK - Pin 14 = GND - Pin 15 = DATA SIGNAL ODD COLUMN = D0 - Pin 16 = DATA SIGNAL EVEN COLUMN = D1 wenn ich dann noch an die Abblock C's denke, sollte kaum was schief gehen. Bei
-
Thread
DMX mithören - recht einfach, nicht?
denn das?!? Weder mein PC, noch das AVR-Datenblatt kennt sowas. Macht man da einfach einen 9-Bit-Transfer und setzt das erste gesendete Bit auf 1?
ja, nicht ganz. Tauschen wir jetzt RS232 gegen RS485 kommen wir der Sache näher. Und den 9-bit Transfer brauchst du, da 2 Stoppbits gesendet werden. MW
-
Thread
sd-Karte Elm Chan DMA
regVal; switch(DMA_STATUS){ case 0://ready abfrage if(buffer[4]!=255){ DMA3_transfer_from_SSP0_to_buffer(16); return; }else{//512 Databytes zl_bsy_rpt=DMATCCount; xchg_spi(0xfe);//token_cmd24 DMA_STATUS = 1; DMA0_512bytes_transfer_to_SSP0(0,512
buffer_offset,Anzahl_bytes }break; case 1://2xcrc DMA_STATUS = 2; DMA2_3bytes_transfer_to_SSP0(); break; case 2://"fifo leeren" nur Wartezeit DMA_STATUS = 3; DMA3_transfer_from_SSP0_to_buffer(32);//rxfifo leeren break; case 3://response -wird nicht ausgewertet
-
Thread
STM32F407 USART1 über DMA
Controller für diesen DMA: void DMA2_Stream7_IRQHandler (void) { /* Test on DMA Stream Transfer Complete interrupt */ if (DMA_GetITStatus(DMA2_Stream7, DMA_IT_TCIF4)) { /* Clear DMA Stream Transfer Complete interrupt pending bit */ DMA_ClearITPendingBit(DMA2_Stream7, DMA_IT_TCIF4); // USART_SendData(UART1, 'C'); } /* Test on DMA Stream Half Transfer interrupt */ if (DMA_GetITStatus(DMA2_Stream7, DMA_IT_HTIF4)) { /* Clear DMA Stream Half Transfer interrupt pending bit */ DMA_ClearITPendingBit(DMA2_Stream7, DMA_IT_HTIF4);
-
Thread
USB: Verständnisfrage
der Art und Weise wie das Polling gehandhabt wird. Bulk: Wenn ein URB submitted wirdm wird der Transfer sofort eingeplant, Interrupt: Der Transfer wird erst nach Ablauf des Interrupt Polling Intervals eingeplant.
Beitrag #4052295: >>... Kleiner Nachtrag: Ein weiterer Unterschied besteht, wenn das Device den Transfer mit NAK ablehnt. Bulk: Sofort wiederholen, Interrupt: Erst beim nächsten Pollinginterval.
-
Thread
GCC (Atmel Studio7): Struct-Variable auf 128 Byte Grenze legen
www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591729 da gibt's ein Bild: [pre] DMA Transfer Descriptor The transfer descriptor resides in the SRAM and defines these channel properties. Field name Field width Descriptor Next Address 32 bits Destination Address 32 bits Source Address 32 bits Block Transfer Counter 16 bits Block Transfer Control 16 bits [/pre]
-
Thread
SPI mit 2 Mastern und 2 Slaves entkoppeln
high, CS low,SPI READCMD+Adresse zum weiter lesen, weitere 64 byte lesen) Damit wird der gesamte transfer ineffizienter (ich schätze, daß ich in der Zeit in der ich das obige umsetze fast 32 byte vom FRam lesen könnte - sagen wir zumindestens 24 bytes) Und daher macht IMO eine Separierung der "Aufgaben
viele Leute wissen, was sie erzählen. Du eher weniger. >Ich könnte alle 32 oder 64 bytes im transfer einen CLI/SEI block >einführen - der Interrupt kann nur dann triggern. Wengleich ich mir >nicht sicher bin, ob dann eine "edge" während der zeit mit Interrupt >disabled dann in diesem CLI/SEI
-
Thread
Tektronix TEK-222
Einstellungen vor dem Aufruf des CURVe. Ausschnitt aus dem Manual: [c] From the Oscilloscope. To transfer waveforms from the oscilloscope to an external controller, follow these steps: 1. Use the DATa:SOUrce command to select the waveform source. 2. Use the DATa:ENCdg command to specify the waveform
the DATa:STARt and DATa:STOP commands to specify the portion of the waveform that you want to transfer. 5. Use the WFMPRe? command to transfer waveform preamble information. 6. Use the CURVe? command to transfer waveform data. [/c] Scheint also einiges an Vorarbeit nötig zu sein bis die
-
Thread
wie funktioniert ein kapazitiver Drehgeber?
capacitive touch" uC. Die Auswertung einer "Touch"-Elektrode kann ja praktisch jede MCU per charge-transfer-Messung (siehe Codesammlung), es muss kein Oszillator dran sein. Ok, ist bei ST auch nicht, die haben offenbar charge-transfer Hardware an den Pins. https://www.st.com/resource/en/application_note
Spuren? Was kompensiert die zitronenform (Sinus?) der "Übertragerplatten"? Reicht hier eine Charge-Transfer-Messung aus?
-
Thread
ATTiny / SPI Pins tauschen
PIN- und DDDR-Register zuweisen, MOSI, SCK und NSEL als Ausgänge, MISO als Eingang setzen), der Transfer ist dann schnell erledigt. Hier mal ein Beispiel für den Transfer für CPOL=0 und CPHA=0 mit MSB-first-Übertragung: [c] uint8_t soft_spi(uint8_t spibyte) { SCK_PORT &= ~(1 << SCK); NSEL_PORT
Der Code sieht für mich - zumindest was die Transfer-Funktion angeht - gut aus. Entscheidend ist, dass du Ein- und Ausgänge wirklich richtig setzt bzw. dir bewusst bist, von welcher Seite aus du die Pins DI und DO betrachtest: Was am Master (hier
-
Thread
I2C: Stop nach NACK?
as the Not Acknowledge signal. The master can then generate either a STOP condition to abort the transfer, or a repeated START condition to start a new transfer.
the Not Acknowledge signal. The master can then generate either a STOP > condition to abort the transfer, or a repeated START condition to start > a new transfer. Das steht bereits auch in der Version 2.1 vom Januar 2000. Ist also keineswegs neu. Ältere Version liegen mir nicht vor. Die SMBUS
-
Thread
Interrupts + m168 + Vektor Namen
das Zufall oder Prinzip? Und was ist dann damit? [c] 18 | 0x0022 | SPI, STC | SPI Serial Transfer Complete [/c] Ein Komma wird wohl eher nicht in der Vektor Bezeichnung vorkommen?
Name: (TIMER2_COMPA_vect > Und was ist dann damit? > *18* | 0x0022 | SPI, STC | SPI Serial Transfer Complete Dazu findet man in iomx8.h (WinAVR 20071221) [C] /* SPI Serial Transfer Complete */ #define SPI_STC_vect _VECTOR(17) #define SIG_SPI _VECTOR(17) [/C] D.h. die Vektornummer
-
Thread
Hot Swap/Hot Plug - SCSI Festplatte
www.oldcomputers.it/parts/philips/cdd2600/Technical%20Information%20CDD2600%20-%20bugs%20&%20limitations.htm: Transfer rate (Mode 2) (Zoned 6 speed): 1146 kb/sec (read-only, outer diameter) Transfer rate (Mode 2) (Double speed): 352.6 kb/sec (reading or writing) Transfer rate (Mode 2) (Single speed): 176.4 kb/sec
-
Thread
Cortex M3 ISR-Problem
ctrl_t can0_transceiver; /** CAN1 Transceiver */ sn65hvd234_ctrl_t can1_transceiver; /** CAN0 Transfer mailbox structure */ can_mb_conf_t can0_mailbox; /** CAN1 Transfer mailbox structure */ can_mb_conf_t can1_mailbox; /** Receive status */ volatile uint32_t g_ul_recv_status = 0; ] /*
(CAN1, CAN_IER_MB0); /* Send out the information in the mailbox. */ can_global_send_transfer_cmd(CAN0, CAN_TCR_MB0); printf("\rDEBUG: \(1\) g_ul_recv_status = %d\r",g_ul_recv_status); //Ab hier passiert nix mehr weil Abarbeitung in Empfänger-ISR: while (!g_ul_recv_status);
-
Thread
MLX90393 + Arduino
// Conversion Time Serial.print("SM Mode: "); Serial.println(SPI.transfer(0x00)); delay(50); SPI.transfer(0x4F); // Messdaten anfordern mit (0100 xyzt) delay(50); Serial.print("Status RM: "); Serial.println(SPI.transfer(0x00)); Serial.println(SPI.transfer(0x00)); delay(2000); SPI.transfer(0xF0); delay(200); Serial.print("Reset?: "); Serial.println(SPI.transfer(0x00)); delay(50); }[/c] Als Antwort kommt dann auf den Reset kommt als Antwort
-
Thread
Zuviele Methoden in Klasse
wird es langsam unübersichtlich. Ich würde gerne etwas derartiges machen: Interface01.GroupFileTransfer.Methode1 Interface01.GroupFileTransfer.Methode2 Interface01.GroupFileTransfer.Methode3 Interface01.GroupDirectory.Methode4 Interface01.GroupDirectory.Methode5 usw. Allerdings von was spricht
Und dein Interface enthält dann eben die jeweiligen Gruppenobjekte > Interface01.GroupFileTransfer.Methode1 > Interface01.GroupFileTransfer.Methode2 > Interface01.GroupFileTransfer.Methode3 > > Interface01.GroupDirectory.Methode4 > Interface01.GroupDirectory.Methode5 Ich denke, du hast
-
Thread
Fumot Tornado 25000 mit LCD -Teardown
; // Data mode } // Send data byte through SPI void LCD_send_SPI(uint8_t u8_byte) { SPI.transfer(u8_byte); } // Delay loop (adjust as necessary) void delay_loop(int iDelay) { delay(iDelay); } // LCD initialization function void LCD_init() { LCD_Select(1); // Select the LCD
So bald ich LCD_transfer_test ausführe endet es im Reset Loop. Mensch, ich seh den fehler nicht!
-
Thread
Phasensplitter (Diff.-Verstärker) mit Röhren/Trioden
er komplett in der Hardware läuft. Es gibt auch keine weitere DMA-Aktivität in dem Chip, die den Transfer zum DAC stören könnte. Die Task ist auf jedenfall schnell genug, um den DMA-Puffer zu füllen. Ich verwende ein RTOS, welches mir ca 35% CPU-Last anzeigt. Also überlastet ist die CPU auch nicht. Ich
soviel Spielzeug an Board ist, dieses auch sinnvoll einzusetzen. Es gibt sogar noch einen DMA Transfer. Und zwar für die Z-Achse (Strahlaustastung). Da schaufelt ein zweiter DMA-Kanal, der auch von den DACs angeschoben wird, die Daten aus einem Ringpuffer an einen IO-Port, so dass dort Impulse für
-
Thread
FTDI extrem langsam
Block-Übertragung optimiert ist. Dann ist es auch schnell. Wenn allerdings immer nur 1 Byte pro Transfer übertragen wird, wird´s extrem langsam. Deswegen haben alle USB Programmiergeräte einen Controller onBoard.
hardware management of the CTS and RTS signals and have LIN Master capability. To optimize the data transfer between the processor and the peripheral, two FIFOs (receive/transmit) of 16 bytes each have been implemented. One UART can be served by the DMA controller (UART0).
-
Thread
Erfahrungen mit Gillastore
billiger (1,88 €) und es gibt auch eine Auflistung der verschiedenen Zahlungsmethoden, u.a. wire transfer, also Überweisung. Bleibt die Frage, was das für ein Konto ist, d.h. wo es ist und ob sich die ggf. anfallenden Überweisungskosten rentieren.
ja, wenn du unbedingt willst, laut den geschriebenen payment methods bieten die paypal und bank transfer. Die Kontoinformationen für den bank transfer bekommst du angeblich im Bestellprozeß. ALso probiers halt einfach mal aus. Vielleicht haben die ja doch ein Konto in D oder EU-Land. Wenn die ein
-
Thread
SPI Atmega16M1
der SPI_INIT() und einem aufruf in der while(1) von SPI_Transfer(0x01); versucht. (Aktueller Stand) [c] #include .... int main(void) { SPI_INIT(); while(1) { PORTC &= ~(1 << PC5); SPI_Transfer(0b00000101); PORTC |= 1 << PC5; } return(0); } [/c] Erkennt jemand einen Fehler in der SPI_INIT? die Transfer Funktion sollte so auf jeden fall in Ordnung sein... (ist kopiert) Kann es sein, dass beim compilieren irgendwas weg optimiert wird? Aktuell nutze ich als Parameter -Os (gcc version 5.3.0 (GCC)
-
Thread
[STM32] Fat-FS während DMA auf I2S läuft Probleme
SDIO+FATFS beißen kann? (SDIO läuft nicht im DMA-Modus). Erstaunlicherweise fällt der I2S-DMA-Transfer nicht auf die Nase ... Das muss ich mir auch noch anschauen, weshalb das so ist ;-) *edit*: Ahja, haben mehr Leute solche Probleme: https://www.mikrocontroller.net/topic/417623
Puuuuuh, hab jetzt den DMA-Transfer endlich hinbekommen ... FATFS ist relativ einfach auf DMA umbaubar ... Allerdings muss man auf das DWORD-Alignment des Puffers aufpassen ... Hab gesehen, gibt Sonderschnitz, bei dem im Falle
-
Thread
Zephyr i2c_write_dt Fehlermeldung trotz erfolgreichem Transfer
etwas "na ja"; letzendlich wird in i2c_write_dt() wohl i2c_write() aufgerufen, was wiederum i2c_transfer() aufruft und letztendlich die -5 liefert.
> Ursache sind wohl vergessene Pull up. Oder ein Bug in der Treiberroutine, hier also in i2c_transfer(). Muss so sein, hast du ja selbst durch Messung/Funktionsprüfung festgestellt. Also: Man muss sich anschauen, was i2c_transfer() wohl falsch macht. Wobei dabei natürlich durchaus herauskommen
-
Thread
Stm32 USB virtual com port example
Schnittstelle meldet sich auch an und ich kann den Treiber installieren - wunderbar. nur bekomme ich den Transfer Usart1 -> Usb und zurück nicht hin. Meine USART ligt an anderen =Pins, deswegen habe ich sie "remapped" Irgendwelche vorschläge ? // - Word Length = 8 Bits // - 1 Stop Bit
Treiber hat einen 1000h = 4KB Buffer. Wo kann ich den ausschalten - der Mode nennt sich IRQ/Interrupt Transfer mit niedriger Priorität. Philipp
-
Thread
Fragen zu DMA im Controller
der Code /danach/ erst ausgeführt wird, wenn die DMA Transfers für RX /und/ TX fertig sind. DMA Transfer hier nicht mit UART Transfer verwechseln! Ich habe mit DMA selbst noch nichts gemacht, aber ich sehe den Ablauf so: Durch das Enablen des UARTS mit USART_Cmd(...) setzt die UART Peripherie das
/* USART Enable */ USART_Cmd(EVAL_COM1, ENABLE); /* Wait the USART DMA Tx transfer complete */ while (DMA_GetFlagStatus((DMA_FLAG_TypeDef)USART_DMA_FLAG_TCTX) == RESET); Delay((uint32_t)0xFFFF); } } [/c] Gruss Owen
-
Thread
FPGA IoT Maker Board
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
SD Karte gibt immer nur 0x01 zurück, CMD0 und SPI geht
Transfer > Start SD_CMD_R1b: BIT.B #USIIFG, &USICTL1 ; Fertig? JZ SD_CMD_R1b SWPB R6 MOV.B R6, &USISRL MOV.B #00001000b, &USICNT ; 8-Bit
Transfer > Start SD_CMD_R1e: BIT.B #USIIFG, &USICTL1 ; Fertig? JZ SD_CMD_R1e SD_CMD_R1g: MOV.B #0x00, &USISRL MOV.B #00001000b, &USICNT ; 8-Bit Transfer
-
Thread
FT2232D + libMPSSE: Lange Pausen auf dem I2C-Bus :o(
I2C_TRANSFER_OPTIONS_START_BIT|I2C_TRANSFER_OPTIONS_STOP_BIT); APP_CHECK_STATUS(status); while((writeComplete==0) && (retry<I2C_WRITE_COMPLETION_RETRY)) { bytesToTransfer=0; bytesTransfered=0; buffer[bytesToTransfer++]=registerAddress; /*PointerRegister*/ status = p_I2C_DeviceWrite(ftHandle, slaveAddress, bytesToTransfer, buffer, &bytesTransfered, I2C_TRANSFER_OPTIONS_START_BIT|I2C_TRANSFER_OPTIONS_BREAK_ON_NACK
-
Thread
STM32F407 Weitere IN Token am EP1
interessieren. Den ITTXFE Interrupt kannst du daher komplett weglassen und abgeschaltet lassen. Im Transfer Complete Interrupt kannst du zur Sicherheit wieder NAK aktivieren, aber das sollte eigentlich nicht nötig sein: [c]USB.INEP_REGS[1]->DIEPCTL |= USB_OTG_DIEPCTL_SNAK_Msk;[/c]
0xC0000004 - STALL_PID. Und das ist für mich nicht verständlich - warum plötzlich STALL wenn der Transfer davor 10 mal funktioniert hat (siehe PNG)? PS.: Wenn ich kontinuierlich Daten sende und nicht nur 60 Zeichen, dann funktioniert es(
-
Thread
STM32U575 SPI transfer size
Servus allerseits! Beim STM32U575 lese ich Daten via SPI wie folgt: [c] LL_SPI_SetTransferSize(SPI3, cnt); LL_SPI_EnableIT_TXP(SPI3); LL_SPI_EnableIT_RXP(SPI3); LL_SPI_Enable(SPI3); LL_SPI_StartMasterTransfer(SPI3); this->WaitAndCheckEndOfTransfer(); LL_SPI_Disable(SPI3); [/c] Mit
uint32_t cnt; while(anz) { cnt = anz > 0x3FF ? 0x3FF : anz; LL_SPI_SetTransferSize(SPI3, cnt); LL_SPI_EnableIT_TXP(SPI3); LL_SPI_EnableIT_RXP(SPI3); LL_SPI_Enable(SPI3); LL_SPI_StartMasterTransfer(SPI3); this->WaitAndCheckEndOfTransfer
-
Thread
DMA: Verständnisfrage
Speicher transferiert, ohne dass die CPU belastet wird. Frage 1) Da die CPU während des DMA-Transfer vom Adress- und Datenbus getrennt ist, kann sie ja eh nur Däumchen drehen? Falls nicht, Frage 2) Wenn die CPU während eines DMA-Transfer zufällig die selbe Speicheradresse lesen möchte, welche
RAM zu, so kommt er sich nicht mit der CPU ins Gehege. Nachdem die CPU bzw. Dein Code den DMA-Transfer initiiert bist auch Du für die Datenkonsistenz verantwortlich. Der Controller schaufelt nur dumm die Daten von Peripherie <=> RAM.
-
Thread
STM32 ADC getriggert über Timer - was fehlt (StdperiphLib)
(ADC2, ADC_Channel_9, 1, ADC_SampleTime_15Cycles); // PB1 /* Enable DMA request after last transfer (Multi-ADC mode) */ ADC_MultiModeDMARequestAfterLastTransferCmd(ENABLE); /* Enable ADC1 */ ADC_Cmd(ADC1, ENABLE); /* Enable ADC2 */ ADC_Cmd(ADC2, ENABLE); ADC_ITConfig(ADC1
ADC_RegularChannelConfig(ADC2, ADC_Channel_4, 1, ADC_SampleTime_3Cycles); // Enable DMA request after last transfer (Multi-ADC mode) ADC_MultiModeDMARequestAfterLastTransferCmd(ENABLE); ADC_Cmd(ADC1, ENABLE); ADC_Cmd(ADC2, ENABLE); } static void DMA_Configuration(void) { DMA_InitTypeDef DMA_InitStructure