-
Thread
STM32-SPI-Code Feedback
so seltsam arbeitet. Um etwas zu lesen brauchst du tatsächlich 2 Transfers zu je 40bit. Der 1. Transfer enthält das Lesekommando und 4 byte dummy daten. Dabei empfängst du 8bit SPI Status und entweder 4 byte dummy daten oder die zu lesenden daten aus einem vorangegangenen Lesekommando. Der 2. Transfer
haben. Oder eine universelle, die alles abdeckt. Diese Funktionen sollten nur beenden, wenn der Transfer wirklich abgeschlossen ist. Also bei Write() das BSY beachten. Noch 2 Ergänzungen: 1) die ARM Archiketur ist stark parallel. Nach dem Aktivieren des CS-Signals musst du unbedingt darauf warten
-
Thread
Mosfet Problem (wer kann helfen)
die input capacitance beim CB703AL min 1150pF, max 1500 pF, output min 540, max 700 pF, reverse transfer capacitance min 230, max 300 pF beim FR3707Z steht: VDS 15V Ip 12 A (forward transconductance), input capacitance 1150pF, output 260 pF, reverse transfer capacitance 120 pF; VDS 15V; f 1 MHz die
-
Thread
CP2112 API: INVALID_PARAMETER
Meldet "HID_SMBUS_SUCCESS" HidSmbus_ForceReadResponse: Meldet "HID_SMBUS_SUCCESS" HidSmbus_TransferStatusRequest: Meldet "HID_SMBUS_SUCCESS" HidSmbus_GetTransferStatusResponse: Geht auch: - bei korrekter I²C-Adresse kommt: "HID_SMBUS_S0_COMPLETE" - bei falscher I²C-Adresse kommt:
As Byte" gehen auch nicht. Der Prototyp ist gemäß Spec: [code]HID_SMBUS_STATUS HidSmbus_GetTransferStatusResponse (HID_SMBUS_DEVICE device, HID_SMBUS_S0* status, HID_SMBUS_S1* detailedStatus, WORD* numRetries, WORD* bytesRead)[/code] Ich wollte es auch in c++ probieren, aber da bin ich nicht
-
Thread
STM32 SPI mit MAX6675 buffer overrun
Statusregister des SPI Ähm, der MAX ist doch ein SPI-Slave, oder? Du musst irgendwie eine SPI transfer auslösen. Reicht da ein a = SPI1->DR?
only > Mache ich elementare Fehler oder übersehe ich einfach etwas? Wie stellst du dir einen SPI Transfer vor? Das ist pures Geben und Nehmen: du als Master(!!) schickst 1 Bit an den Slave und bekommst 1 Bit zurück...
-
Thread
STM32F407 macht nichts über JTAG mit BlackMagicProbe
0x8000000 Loading section .sec2, size 0x78 lma 0x8002634 Start address 0x8000188, load size 9899 Transfer rate: 16 KB/sec, 824 bytes/write. (gdb) c Continuing. [/code] Der BlackMagicProbe kann auch SWD, da scheint das flashen (auf meiner HW) zu gehen (die Funktion iwie noch nicht).
0x80002c8 Loading section .data, size 0x78 lma 0x800263c Start address 0x8000188, load size 9907 Transfer rate: 17 KB/sec, 825 bytes/write. (gdb) [/code] Sollte da wirklich überall 0xff stehen - da sollte doch das Program sein, oder?
-
Thread
Si4735 RDS Radio UKW LW MW KW AM FM - TA TP AF GT TMC CT RT Pi PS ATmega8 Assembler
Das bisserl LCD-Transfer kann doch den Empfänger nicht so nachhaltig stören! Da ist was faul!
Abdul K. schrieb im Beitrag #3707019: > Das bisserl LCD-Transfer kann doch den Empfänger nicht so nachhaltig > stören! Da ist was faul! Ich kann dieses Phänomen auch in meiner Schaltung beobachten. Ebenfalls LCD mit 8-Bit Datenbus. Beim Senden der Daten kruspelt
-
Thread
stm32f429 Expansion board
allerdings werden nur die ersten 4bytes des SDRAM beschrieben. Macht eigentlich auch Sinn, denn der DMA-Transfer läuft immer für 4Bytes ab. Dann fängt er anscheinend mit der angegebenen DestAdr für das nächste int wieder von vorne an. Dest-Increment ist eanabled, ansonsten wird nur das erste Byte beschrieben
routine [c]void DMA2_Stream1_IRQHandler(void){ if(DMA_GetITStatus(DMA2_Stream1, DMA_IT_TCIF1)){//TransferComplete DMA_ClearITPendingBit(DMA2_Stream1, DMA_IT_TCIF1); zl_Hline+=8; //if(zl_Hline<600){ pixel_cursorDB+=H_PX<<3;//*8 if((zl_Hline)%16){//line0 ready - start line1 DMA2
-
Thread
Atmega8 mit ESP8266 hängt sich auf
Das hängt mit dem "chunked" Modus von HTTP/1.1 zusammen: https://en.wikipedia.org/wiki/Chunked_transfer_encoding Bei HTTP/1.0 gibt es das nicht.
Das hängt mit dem "chunked" Modus von HTTP/1.1 zusammen: > https://en.wikipedia.org/wiki/Chunked_transfer_encoding > > Bei HTTP/1.0 gibt es das nicht. Ok danke.
-
Thread
HD44780 - per Interrupt beschreiben oder immer nach Bedarf?
schreibe ich meine Daten, der andere dient der ISR als Datenquelle. Nach einem abgeschlossenen Buffer-Transfer dann den neuen Bufferinhalt rüberkopieren. Hier könnte ich ohne Busy-Flag arbeiten, indem ich ein Intervall nehme, welches länger als die Verarbeitungszeit des Displays ist. Bei der zweiten Variante
ich meine Daten, der andere dient der ISR als >Datenquelle. Nach einem abgeschlossenen Buffer-Transfer dann den neuen >Bufferinhalt rüberkopieren. Hier könnte ich ohne Busy-Flag arbeiten, >indem ich ein Intervall nehme, welches länger als die Verarbeitungszeit >des Displays ist. Genau.
-
Thread
AVR 32-bit. Externes OLED Display verwenden.
0 setzen (CPHA=0, CPOL=0) SPI-Frequenz vorerst auf 1MHz oder darunter einstellen; 8 bits pro Transfer (pro SPI-Datenwort) einstellen; Delays zwischen den einzelnen Transfers (Bytes bzw. SPI-Datenwörtern) brauchst Du nicht; 1.2.3) OLED-Display resetieren (siehe Pinout RES#) 1.2.4) OLED-Display
// receive a command gpioClr(GPIO_CS); // select SSD1305 display controller spiTransferBuff( &spiRxBuff, &cmd, 1); // transfer command byte; // when spi transmits datawords, it's inevidable that the // same number of datawords is received; this function
-
Thread
2 GB Festplatte gesucht für 486er .
interessant, irgendwelche Transferunterbrechungen sind hingegen irrelevant. Programmgesteuerter Transfer erlaubt eine erheblich höhere Transferrate als der urtümliche aus 8080 Zeiten stammende DMA Controller. Das änderte sich erst, als das DMA vom Mainboards in den Adapter selbst wanderte, als Bus
> die späteren Omti MFM/RLL-Controller konnten auch DMA Waren aber mit programmgesteuertem Transfer schneller.
-
Thread
Nucleo F103 + mbed
kann man besser die Zeiten für die cs low Phase messen. F103: - kann nur 8 oder 16 Bit breiten Transfer, für die min. 22 Takte muss man dann 2 x 16 Bit nehmen - mbed OS2: 27 µs, hat aber noch den Fehler mit dem doppelten Takten drin - mbed OS5: 37 µs LPC1549: - kann 1..16 Bit Transfer (>16 Bit
-
Thread
LPC2124: Probleme mit JTAG-Debugging
load Loading section .text, size 0x314 lma 0x40000000 Start address 0x40000050, load size 788 Transfer rate: 900 bits/sec, 262 bytes/write. (gdb) continue Continuing. Program received signal SIGTRAP, Trace/breakpoint trap. 0x400002c8 in uart_send_str (pchar=0x4000030a "") at uart.c:18 18
continuing... Ignoring packet error, continuing... Start address 0x40001050, load size 1008 Transfer rate: 350 bits/sec, 252 bytes/write. (gdb) Dazu die Ausgaben von OCDRemote: ocdremote 2.17: WIGGLER via LPT 1 at speed : 5 JTAG SDO <-| CPU(1) ARM7TDMI-S : listening on port 8888 |<- JTAG
-
Thread
LTC6813 über isoSPI mit LTC6820 und STM32
6820. Der geht nämlich auch in den Idle Mode nach x ms. Dann braucht er ein paar us um in den Transfer Mode zu gehen. Wenn also der 6820 im Idle war muss das CS einn paar us früher kommen als die Daten anfangen dürfen, rausgeclockt zu werden. Der 6813 hat dann auch wieder einen Idle und Sleep Mode
Modus" um Daten rein oder raus zu schieben, je nach Kommando. Mit der steigenden Flanke ist der Transfer abgeschlossen. Beim Schreiben werden mit der steigenden Flanke die Daten übernommen, wenn die PEC stimmt. Erst nach einer neuen fallenden Flanke auf CS kann ein neues Kommando gesendet werden.
-
Thread
125 KHz Signal
flags.always_on = false, // If set, the carrier can always exist even there's not transfer undergoing }; //ESP_ERROR_CHECK(rmt_apply_carrier(tx_chan, &tx_carrier_cfg)); // modulate 125kHz carrier to TX channel } void loop() { rmt_tx_init(); rmt_transmit_config_t tx_config = { .loop_count = 0, // no transfer loop }; rmt_bytes_encoder_config_t bytes_encoder_config = { .bit1 = { .duration0 = 100, // us .level0 = 1, .duration1 = 100, // us .level1
-
Thread
Attiny13 SoftSPI Slave
LOW); //delay(500); SPI.beginTransaction(SPISettings(100, MSBFIRST, SPI_MODE2)); i = SPI.transfer(0); SPI.endTransaction(); digitalWrite(SS, HIGH); Serial.print(i); delay(500); } [/c] - Attiny13 (main.c) als Slave, welcher ständig 193 per SPI sendet [c] #include <avr/io.h>
Eine Debug-Led (PORTB |= (1 << LEDPIN);) leuchtet nicht (Befehl sollte nach SPI-Transfer ausgeführt werden). Liegt wohl daran, das ich das Register verodere.
-
Thread
Linux Distro auf SSD&HDD installieren
ist erst ein offizieller Standard von USB 3.0. Bei USB 2.0 werden die Daten noch im Bulk Only Transfer (BOT) Modus übertragen welches aber keine SMART Kommandos übertragen kann. Letzteres geht nur bei einigen wenigen Herstellerspezifischen USB 2.0 Chipsätzen über ein herstellerspezifisches Protokoll
reduzierter Geschwindigkeit verwendet werden, welches im Gegensatz zu den technisch einfacheren Bulk-Transfer der USB-Speichersticks eine Tunnelung der ATA-Kommandos über den USB-Bus ermöglicht und die SMART-Abfragen über USB ermöglicht. Chip-Hersteller wie Cypress, JMicron oder SunPlusIT verwenden herstellerspezifische
-
Thread
Fehler in der Übertragung
des Fehlerreports das immer nach ca. 2**16 Bytes der Datenverlust eintritt... Ich habe die InTransferSize des FT2232H auf 2**16 eingestellt. Kann es sein, dass wenn der "InTransferBuffer" voll ist es zu einem Überlauf kommt und ich Daten verliere?
-
Thread
Nachholbedarf bei Schaltreglern
. Da findet man dann zum Beispiel dieses simple Bild: https://image.jimcdn.com/app/cms/image/transf/none/path/s39ffc848bdeb96aa/image/i0e2aefe2897d0391/version/1432557355/schaltbild-der-led-schaltung.jpg
> Da findet man dann zum Beispiel dieses simple Bild: > https://image.jimcdn.com/app/cms/image/transf/none/path/s39ffc848bdeb96aa/image/i0e2aefe2897d0391/version/1432557355/schaltbild-der-led-schaltung.jpg Danke für den Link, kannte ich so noch nicht. ArnoR schrieb im Beitrag #5217345: > Das
-
Thread
Direkt auf Platine drucken....
nicht dein ernst, oder? Spar Dir besser das gute Potoglossy für den eigentlichen Zweck - als "Transfer-Medium" ist's jedenfalls total MÜLL
Dannach den Lack am besten unter einer Lampe trocknen damit er schön aushärtet. Die Sache mit dem Transfer des Layouts von einem Laser-Druck geht bis zu einer Größe von einer halben Europakarte auch recht gut. Ich benutze dazu einen Laserjet IIIP und Laserfolie ( 10 Blatt für 5,- Euro bei e-Bay ). Die
-
Thread
USB Bulk Problem mit Paketen < 64Byte
try { if((len-recLen)%64!=0) templen = LibusbJava1.libusb_bulk_transfer(libusbDevice.getUsbHandle(), (byte) 0x81, buffer, len-recLen+64-((len-recLen)%64), 0); else templen = LibusbJava1.libusb_bulk_transfer(libusbDevice.getUsbHandle(), (byte) 0x81,
payload is less than the maximum, it does not need to be padded to the maximum size." und: "A bulk transfer is complete when the endpoint does one of the following: • Has transferred exactly the amount of data expected • Transfers a packet with a payload size less than wMaxPacketSize or transfers a zero-length
-
Thread
Erster Ätzversuch - Ergebnis OK?
bringen. Auf bestellte Platinen warten ist keine Alternative, ebenso Belichten, deshalb Toner-Transfer. Vielleicht versuche ich mich aber auch mal im Belichten, Entwickler und Foto-Material habe ich auch bestellt. Brother HL1250 - Refill Toner Einstellung Folie, HRC Dark, 1200 DPI Auf 80g Papier
für das Feedback, die Kanten der Kupferflächen sind ziehmlich ausgefranst. Lässt sich das bei der Transfer Methode noch verbessern? Ich möchte ssop28 und tqfp64 Bauteile verlöten, in den Diversen Beschreibungen im Forum und auch Google steht ja das das zu erwarten ist aber das man die Strukturen für
-
Thread
Synchronisation zwischen Interrupts - Infineon XC166
einzige us;) weiss nicht ob es so schlau ist das senden nicht im interrupt zu machen... der PEC transfer für das spi sollte auf interrupt 16 laufen. wie finde ich raus wie lange das speichern der variablen auf den stack braucht bevor ich in den interrupt springe? die zeit wär schon recht nützlich!
reingeschrieben. Darf man fragen mit welchem Device sich dein Controller unterhält? > der PEC transfer für das spi sollte auf interrupt 16 laufen. Ja die PEC sollten grundsätzlich in den obern drei Interrupt-Level liegen. Ich meinte auch mehr deine Timer Interrupt. > wie finde ich raus wie lange
-
Thread
STM32 SPI im Halbduplex-Betrieb mit DMA
aufgerufen, die die beiden DMA-Kanäle und SPI1 aktiviert. Nach beendeter Übertragung soll über den Transfer Complete Interrupt (DMA1_IT_TC2) die Funktion SENSOR_Deactivate() die DMA-Kanäle und SPI1 deaktivieren. Bis der nächste Systick alles wieder aktiviert usw. Leider wird aber nie der Transfer Complete
-
Thread
ADF4350 mit Windows PC einstellen
probier mal diesen ist zwar etwas dürftig, funktioniert aber https://transfer.pcloud.com/download.html?code=5ZGUxfXZC2MLNcsBqhhZvCYjZj8E7krDqSy00bzzKCQAfeycYQo70&label=Transfer%20-%20files%20sent%20%28to%20recipient%29#
-
Thread
RS-232 über infrarot
eigenlob> und dieses Forum auch einiges dazu beigetragen hat ! Ich dachte die "Null" heißt beim IR Transfer dann einfach "LED AUS" und die EINS dann eben "LED AN". Aber anscheinend haut das nicht so wirklich ... bin immer noch verwirrt und werde mal drüber schlafen .... aber ich komme wieder !
...Ich dachte die "Null" heißt beim IR Transfer dann einfach "LED AUS" und die EINS dann eben "LED AN". .. Um dich ganz zu verwirren: Klar geht das so, denke nur an eine galvanisch getrennte RS232. Was anderes willst du doch bei deiner
-
Thread
Arduino + ADS1248 - Probleme mit SPI
delayMicroseconds(1); // probably not needed, only need 25 nsec delay b = SPI.transfer(0xff); // B3 result = b<<8; b = SPI.transfer(0xff); // B2 result |= b; result = result<<8; b = SPI.transfer(0xff); // B1 result |= b; result = result<<8; b = SPI.transfer
-
Thread
780x Spannungsregler, Kondensatoren 330nf / 100nF
Ich finde Platinen mit Druck einfach schöner. Mache das bisher immer ganz einfach mit Toner-Transfer, hält ziemlich gut und ist gut lesbar, selbst auf blauer Platine noch ok. Habe schon gelesen, dass man es mit Siebdruckauftrack von Fotolack und Belichtung auch "richtig" machen kann, das steht auf
Ich finde Platinen mit Druck einfach schöner. Mache das bisher immer > ganz einfach mit Toner-Transfer, hält ziemlich gut und ist gut lesbar, > selbst auf blauer Platine noch ok. OK ist Geschmacksache. Ich lasse die immer ohne Fertigen. Ein Automat braucht ja keine. Conny G. schrieb im Beitrag
-
Thread
Samsung SSD 860 Pro 512 GB: Produktion eingestellt?
#7125514: > Deutlich besser als bei schrottigem SCL-Cache ohne DRAM. Wobei DRAM bei sequentiellem Transfer wie meinen Images nicht allzu sehr ins Gewicht fallen sollte. Bei NVMe SSDs ist das nochmal anders als bei SATA SSDs, da die NVMs ohne DRAM ersatzweise etwas vom RAM des Rechners klauen, in dem
(prx) A. K. schrieb im Beitrag #7125524: > Wobei DRAM bei sequentiellem Transfer wie meinen Images nicht allzu sehr > ins Gewicht fallen sollte. Wenn man "Cache" zu wörtlich nimmt nicht, das stimmt. Allerdings halten die meisten "besseren" SSDs auch sämtliche Verwaltungsinformationen
-
Thread
PIC16F1827-MCP4151 TMR0-Interrupt wird immer wieder nicht ausgefuehrt
Debug-Modus nicht gesetzt #ENDIF ; wipervalue_buf1: btfss SSP2STAT,BF ;b0=1? Data transfer complete? (Buffer Full?) GOTO wipervalue_buf1 ;NO, check again movf SSP2BUF,w ;Get Data from SSP2BUF, throw it away ;------------------ BANKSEL 0 movf Data0
SPI-Verkehr nicht erfolgt #ENDIF ; wipervalue_buf0: btfss SSP2STAT,BF ;b0=1? Data transfer complete? (Buffer Full?) GOTO wipervalue_buf0 ;NO, check again movf SSP2BUF,w ;Get Data from SSP2BUF, throw it away BANKSEL 0 ;bank0 bsf PORTA
-
Thread
FET SF51234 - schon mal gehört?
So, es sieht ganz gut aus. Ich habe mir eine Testvorrichtung für Transfer und Rauschcharakteristik zusammengebaut, die die FET zwar nicht quantitativ, aber wenigstens qualitativ bewerten kann. Erstaunlich ist * wie gross die Streuungen innerhalb meiner Charge von etwa 200 Stück 2SK30 sind * wie schlecht die SF51234 beim Vergleich mit den Japanern beim Transfer sind. Ich muss die 2SK30 durchweg mehr abschnüren als die alten Gibson Dinger, um auf die im Schaltbild gezeichneten Spannungen zu kommen, obwohl ich schon sortierte Exemplare einbaue. Das macht
-
Thread
Terasic DE0 SoC, sinnvoller Weg zur Kommunikation mit PC?
zwischen 2 Linux-PCs. Beispiele gibts hier: https://superuser.com/questions/326211/best-way-to-transfer-files-over-a-lan-between-two-linux-computers Das gilt natürlich nur wenn die Daten schon im CPU Teil vorliegen, weil man dann "nur" C programmieren muss, bzw Linux eigene Tools nutzt. Sie
vorliegt. Keinen abgelegten Datensatz (das würde ich als Alternative untersuchen wollen). Der Transfer müsste somit aus C heraus, analog zu einer Transmission über UART, erfolgen. Ich würde somit Variablen (Daten) in ein Transferregister legen wollen, diese transferieren und dann auf der Seite des
-
Thread
Ubuntu: avrdude findet AVR-ISP Programmer an USB nicht
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 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Device Status
-
Thread
FTDI & MATLAB 1Mbit/s
? zu USB: - ist nicht Echtzeitfähig auch wenn du ein Realtime OS laufen hast - Isochroner Transfer hat zumindest eine garantierte Datenrate aber keine Fehlerkorrektur - Interrupt-Transfer hat Fehlerkorrektur und ist teilweise deterministisch da bei Übertragungsfehlern nur 3 mal wiederholt wird
-
Thread
Zuweisung zwischen unterschiedlichen Pointern
soweit so gut. Aber: Das hier speichert die Adresse von array in der Variablen var ab. Da ist kein Transfer von Datenbytes involviert. D.h. DAS ist (anscheind) NICHT das, was du eigentlich willst. > Vielleicht kann ja nun ein Mod das ganze unnütze Gewäsch entfernen und > den Thread auf die sinnvollen
so gut. Aber: Das hier speichert die Adresse von array in der > Variablen var ab. Da ist kein Transfer von Datenbytes involviert. > > D.h. DAS ist (anscheind) NICHT das, was du eigentlich willst. wahrscheinlich doch: hausmeister schrieb im Beitrag #2704106: > Um es noch einmal unmissverständlich