-
Thread
Serielle Schnittstelle
int i = 1; HANDLE hSerial; COMMTIMEOUTS timeouts; DCB dcbSerialParams; char szBuff[4096]; DWORD dwBytesRead; DWORD dwBytesWrite; int n = 4096; int _tmain(int argc, _TCHAR* argv[]) { hSerial = CreateFile("COM3", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL
////////////////// szBuff[0] = 0x02; szBuff[1] = 0x01; szBuff[2] = 0x05; if(!WriteFile(hSerial, szBuff, n, &dwBytesWrite, NULL)) { //error occurred. Report to user. printf("Fehler bei WriteFile!\n"); } else
-
Thread
STM32F4 STM32L152: DAC Ausgabe DDS Spannungseinbruch
[SZ] ={ [...] }; unsigned short DMAB0[BS]; unsigned short DMAB1[BS]; unsigned long long dwFreq = 55; struct sTon{ unsigned long wPos; unsigned long wVol; unsigned long wStepsize; }; volatile struct sTon aoToene[10]; #define CALC(a) (sample[aoToene[(a)].wPos/ML]) * aoToene
_Channel2->CCR |= (0b01<<10); //16 Bit peripherie DMA1_Channel2->CCR |= (0b01<<8); //16 Bit memory DMA1_Channel2->CCR |= (1<<7); //inc memory adress DMA1_Channel2->CCR |= (1<<4); //mem to peripherie
-
Thread
mpusbapi.dll und dev cpp unter Windows 7
DWORD dwLen, // Input PDWORD pLength, // Output DWORD dwMilliseconds); // Input DWORD (*MPUSBWrite)(HANDLE handle, // Input
PVOID pData, // Output DWORD dwLen, // Input PDWORD pLength, // Output DWORD dwMilliseconds); // Input BOOL (*MPUSBClose)(HANDLE handle); #endif Danke
-
Thread
RGB-Konverter nach 12bit gesucht
oder ? > Eingabeformat akzeptiere. Bitmap-Format ICH hätte bei dem Konverter an einen 3-Kanal A/D-Wandler-Chip mit 12 bit und 50Msps gedacht, und nicht an SOFTWARE.
image is 320x240 pixels ; output pixel format is 4:4:4:4 0:B:G:R ; bytes are twice the pixels + 8 .dw 0x5808, 0x0002 ; bytes .dw 0x140, 0x0F0 ; width, height ; R 141 148 114 ... ; G 159 161 117 ... ; B 17 21 21 ... .db 0xA9,0x01,0xA9,0x01,0x77,0x01,... Den kann ich mit ziemlich vielen Assemblern
-
Thread
Daten aus EEPROM laden
;Leseadresse schreiben sbi eecr, eere ;Lesevorgang starten ret Zieltabelle: .dw 0,1,2,3,4,5,6,7,8,9,10,11 .dw Var0,Var1,Var2,Var3 .dw Var4,Var5,Var6,Var7 .dw Var8,Var9,Var10,Var11 .dseg .org 0x60 Var0: .byte 1 Var1: .byte 1 Var2: .byte 1 Var3: .byte 1 Var4: .byte
Ganz einfach! Mit "lds r16,0x6A" liest Du den Inhalt von Adresse 6A im SRAM in das Register r16, mit "sts 0x6A,r16" schreibst Du in Adresse 6A. Aber wenn man mit Marken arbeitet interessiert die Adresse nicht so sehr: lds r16
-
Thread
MSP430F1611 TimerA Interrupt Problem
: BIS #0x800,R14 ; 0xFFE8 Port 1 RETI TIMERA1_ISR: BIS #0x400,R14 ; 0xFFEA Timer A CC1-2, TA RETI TIMERA0_ISR: BIS #0x01,R13 ; 0xFFEC Timer A CC0 RETI ADC12_VECTOR_ISR: BIS #0x100,R14 ; 0xFFEE ADC RETI USART0TX_VECTOR_ISR: BIS #0x80,R14 ; 0xFFF0
einem TI Sample Code. Der TI Sample Code lautet aber: [c] ORG 0FFECh ; Timer_A0 Vector DW TA0_ISR ; [/c] Ich würde mir die Definition von TIMERA0_VECTOR bzw. die Doku zu .org für Dein Tool nochmal genauer anschauen, ob das [c] .org TIMERA0_VECTOR, 0xFF
-
Thread
LPC2468, Ethernet MAC und Interrupts
reset the phy */ while(mac_read_phy(PHY_BCR) & (BIT_15 | BIT_11)); /* wait until reset done */ dwID = (mac_read_phy(PHY_ID1) << 16); /* get PHY manufacturer and revision */ dwID |= (mac_read_phy(PHY_ID2) & 0xFFF0); if(dwID != KSZ8001_ID) /* check if this is a KSZ8001L PHY */ { return
; IntEnable = BIT_03 | BIT_07; return; } void mac_tx_enable(void) { Command |= BIT_01; } void mac_tx_disable(void) { Command &= ~BIT_01; } void mac_rx_enable(void) { Command |= BIT_00; MAC1 |=BIT_00; } void mac_rx_disable(void) { Command &= ~BIT_00; MAC1
-
Thread
Regelung fuer 2.5V/0.5A Gluehbirne gesucht
MaWin schrieb im Beitrag #7122336: > Man müsste einen ICL7665 vorschalten, Fertiges Platinchen mit DW01 gibts viel billiger.
#7122349: > MaWin schrieb: > >> Man müsste einen ICL7665 vorschalten, > > Fertiges Platinchen mit DW01 gibts viel billiger. Hmm, LT3086 hat enable für battery low eingebaut mit sinnvoller 22% Hysterese, ist aber noch teurer und grösser.
-
Thread
LiFePo Balancer: CF-4S30A-A
Transistorschaltungen zu verstehen. Die Mosfets sind antiseriell geschaltet, sehe ich das richtig? Die DW01A sind die Batterieüberwachungs-ICs für JE EINE Zelle. Und die nachfolgenden Transistoren ermöglichen, über die Potentialunterschiede hinweg, jeder Einzelzellenüberwachung die ganz unten bei GND liegenden
in Kauf zu >nehmen bereit ist. Eine mögliche Überspannung einer einzelnen Zelle wird durch den DW10A pro Zelle erfolgreich vermieden, indem jeder einzelne davon sein Veto einlegen kann, wenn's zu viel wird, und damit den gesamten Akkupack einfach abschaltet. Das schlimmste, was passieren kann, ist
-
Thread
Ärgernis MPLAB Snap
in IPE, IDE und Studio schien aber nirgends den Snap zu betreffen, sondern nur Software-Treiber (o.ä.) Aber ich hab's gefunden: An irgendwelchen Stellen liest man, daß DWEN sich per dW aktivieren läßt. Wäre IMHO ja auch sonnvoll. Aber nein: man muß da erst per ISP ran. Dann klappt's auch. ARGH, Haare-Rauf
Connecting to MPLAB Snap Currently loaded versions: Application version...........02.01.26 Boot version..................01.01.55 PCB version...................2 Script version................00.07.19 Script build number...........343401fe73 Tool pack version ............2.4.1239
-
Thread
2 byte >> 1 word
= 0x0C; buffer[i + 1] = 0x94; [/c] Im Terminal habe ich dann immer folgende Ausgabe: 0C 94 0C 01 0A Wenn ich w als uint32_t definiere, dann funktionierts... Gruß & Dank P.S. sorry, falls ich hier irgentwie "blasiert" klinge, ich suche nur nach 'nem Problem, dass ich noch nicht verstehe.
; 0x38e2 <init_uart> 389c: c0 e0 ldi r28, 0x00 ; 0 389e: d1 e0 ldi r29, 0x01 ; 1 38a0: 88 81 ld r24, Y 38a2: d9 80 ldd r13, Y+1 ; 0x01 38a4: 1d 2d mov r17, r13 38a6: 00 e0 ldi r16, 0x00 ; 0 38a8: 78 01 movw r14, r16 38aa
-
Thread
Jitter bei optischem Encoder
Drehgeber" , den ich über einen Flankeninterrupt auswerte. Dabei löst ein steigender Flankenwechsel des A-Signals eine Interruptroutine aus, in der die Zustände von A und B verglichen werden. U.a. laut Vertriebsmitarbeiter des Drehgebers die effektivste Art einen optischen Encoder auszulesen. Zudem habe
A >encoder. A encoder schaltet dan ohne Grund. Bei eine positive Flanke von >A wird erst B angeschaut. B steht hoch : bedeutet positions Zaehler >erhohen. So schön, so gut. > Jetzt komt wieder
-
Thread
Programmierbeispiele
eigentlich im Eeprom liegen sollten .equ selbst = 0x10 ;Eepr0x00, eigene Gerätenummer .equ wohin = 0x01 ;Eepr0x01, zu welchem Gerät die Daten hin s. ;*************************************************************************** .include "8515def.inc" ;Reset- und Interruptvektortabelle: rjmp reset
***** ;Befehlstabelle: gerade Anzahl von Ziffern + # (Ende immer mit #) beftab: .db "99901#" .dw sendflash .db "99902#" .dw serout .db "99903#" ;den gesamten Flash-Inhalt senden .dw allflash .db "9990999#" .dw clearflash .dw 0xffff ;Endekennung ;*************
-
Thread
Welcher Chip ist das?
wie die Schutzschaltung für den Akku aus. Dein AD04 wäre dann ein Verwandter des weit verbreiteten DW01. Vielleicht ein Nachbau.
Es scheint leider doch kein Klon des DW01 zu sein, sondern ein IC der die Kommunikation mit dem I-Phone erledigt um den Lightning-Adapter freizugeben und den Ladestrom über den MOSFET erst durchschaltet, wenn die Freigabe erfolgt ist. Eine
-
Thread
Kann man DW01 als Laderegler mißbrauchen?
selbst, möchte ich versuchen die Batterie extern zu laden. Die Schutzschaltung besteht aus einem DW01 Sicherheitsschaltkreis mit 8205A Twin MOSFET. Hier das Datenblatt zum DW01: http://escooter.org.ua/_fr/1/DW01A-DS-10_EN.pdf Nun zu meinen eigentlichen Fragen. Kann ich die Batterie testweise
-
Thread
Frage zu Timerschaltung und Widerstandsauswahl
TP4056 Platine hätte theoretisch auch noch die Möglichkeit eine "unterspannung" abzufangen, aber eh nur DW01A ---> 2,4V P.s. 2 ob es die richtige Kategorie war, möge ein Moderator nochmal entscheiden, da ist mein Elektrowissen zu gering.
Schutzschaltung, geht erst wieder an, wenn Ladestrom hinzukommt. Wie ich es mir bei dem Board mit dem TP4056/DW01A/8205A auch gewünscht hätte. Lieber mit etwas "Kraft" in die Begrenzung rennen, dafür einen Humane "Ruhesspannung", hat dann doch etwas Vorteile das der Akku so "klein" ist mit seinen 800mah, da
-
Thread
Serielle geschaltete LiPo Akkus einzeln laden und DC Motor versorgen
Richtig ist, dass man die Akkus vor Tiefentladung schützen sollte. Da deine Ladeplatinen keine DW01A enthalten (die bei Reihenschaltung auch blöd wären) brauchst du eine 2-Zellen Überwachung. So was in der Art, 8A dürfte für deinen Motor auch als Anlaufstrom reichen. Der Motor ist übrigens der
Richtig ist, dass man die Akkus vor Tiefentladung schützen sollte. Da > deine Ladeplatinen keine DW01A enthalten (die bei Reihenschaltung auch > blöd wären) brauchst du eine 2-Zellen Überwachung. > > So was in der Art, 8A dürfte für deinen Motor auch als Anlaufstrom > reichen. Der Motor ist übrigens
-
Thread
Mikrocontroller aus Li-ion speissen
erste Hausnummer. Du schreibst ja nichts zum Verbrauch, gewünschter Laufzeit, .... Zellschutz via DW01. Gibt es gleich fertig im Verbund mit passendem Dual-FET, zB hier: http://www.aliexpress.com/item/DW01-8205S-combination-SOP23-6-battery-protection-chip-each-10pcs/32422968614.html Step-Up auf
B.A. schrieb im Beitrag #4580448: > Unter 3.6V würde ich ihn nicht entladen. Ich dachte, die Bye-Bye-Grenze für Li-Ion sei 2,5V; und die Schmerzgrenze 3,0V. Hat sich da was geaendert?
-
Artikel
Verilog
Nehmen wir das vorherige Beispiel und schauen uns das module mux etwas näher an. module mux #(parameter DW=8) ( input [DW-1:0] a, input [DW-1:0] b, input sel, output [DW-1:0] y); assign y = sel ? a : b; endmodule In der module-Definition wird jetzt noch eine Parameterliste vor die Portdefinition eingefügt
die Parameterliste verändert und damit das instantiierte Modul angepasst werden. ... parameter NeueDW=16; wire [NeueDW-1:0] w1; wire [NeueDW-1:0] w2; mux m1 #(.DW(NeueDW))( .a(a), .b(b), .sel(s1), .y(w1) ); mux m2 #(.DW(NeueDW))( .a(c), .b(d), .sel(s2), .y(w2) ); mux m3 #(.DW(NeueDW))( .a(w1), .b(w2)
-
Thread
LiPo Protection Modul - PWM-t? O.o
übliche 1k Widerstand am CS Pin des DW01P habe ich bereits entfernt und dachte, damit die Overcurrent Protection disabled zu haben? Oder doch nicht? Oder was schlägt dann zu? Die Zelle hat sehr stabile 3.6V, auch mit der 3A Last (gemessen
so auch laden? Ich gehe mal nicht davon aus. https://cdn.sparkfun.com/assets/learn_tutorials/2/5/1/DW01-P_DataSheet_V10.pdf (Dabla)
-
Thread
Schaltungs-Review: Li-Ion Laderegler & Step-Up (TP4056 / MT3608)
Versorgung über USB-C (CC-Pins sind mit 5.1k abgeschlossen). Akku-Ladung via TP4056, Schutzschaltung über DW01. Systemspannungen: 5V (MT3608) und 3.3V (LD1117). Meine Fragen: LDO Stabilität: Der LD1117 ist ja bekannt dafür, bei Keramikkondensatoren am Ausgang zum Schwingen zu neigen. Reicht hier ein kleiner
Martin L. schrieb im Beitrag #7989737: > Schutzschaltung über DW01. Hast Du beachtet, dass die Schutzschaltung im Minus des Akkus sitzt und damit der Akku nicht die Masse der Schaltung wird? H. H. schrieb im Beitrag #7989755: >> Die TP4056 Module sind eh auf
-
Thread
+-5V mit Fertigmodul aus LiIon 3,7V
einfache Ergaenzung parallel haengen. Als Schutz fuer den Akku spendiere ein Modul TP4056 mit DW01 zwischen Akku und Deinem Geraet. Billiger und einfacher bekommst Du das fertig nicht. Es gibt auch Module, da ist die USB-Buchse zum Laden bereits dabei.
eine invertierte Spannung erzeugen kann? > Als Schutz fuer den Akku spendiere ein Modul TP4056 mit DW01 zwischen > Akku und Deinem Geraet. Schutzmodule habe ich hier, danke für den Hinweis. Gerald B. schrieb im Beitrag #7742562: > +5V sind einfach. Dort eine Ladungspumpe (ICL7660 o.ä.) dran und
-
Thread
Kapazität von Akkus messen, aber wie?
die 500mA. Mit 200mA bist du schon ziemlich niedrig denn selbst in Notebooks muss man in der Regel mit einer schnelleren Entladung rechnen. Btw. eine Möglichkeit wie sich das "schrott sein" bei Lithium Akkus
über die Body-Diode immer noch > aufladen. Das ist falsch. Die typische Schutzschaltung mit einem DW01 verwendet einen Doppel-MOSFET, um genau das zu unterbinden. https://electronics.stackexchange.com/questions/371380/dw01-2s-protection
-
Thread
PV Wechselrichter startet nicht mehr und verursacht Kurzschluss bzw. hohen Strom
N4IgjCBcpgbFoDGUBmBDANgZwKYBoQB7KAbRABYwBmK8%2BAymgVgAYQBdAgBwBcoQAyjwBOASwB2AcxABfAgCYwLCNBC9%2BAVXGieAeRQBZHGiwBXYThAFT-AIJWQAWwn8AHGzkhFLKghDJIdGx8IlIQWFYAAgA1BwB2FhYY%2BKjYggBOROSM1IclLNjONT5IEC0dfSMTc0tPb3I-dVLyvUNjMwsHG1L7AmdxfnlyDwIAWhUkVExcAmJIMnJ0uI5PUfk-AJFTELmyJhXPeFVRABN%2BccSHJpAHHgBPLktSk2QZGSA
N4IgjCBcpgbFoDGUBmBDANgZwKYBoQB7KAbRABYwBmK8%2BAymgVgAYQBdAgBwBcoQAyjwBOASwB2AcxABfAgCYwLCNBC9%2BAVXGieAeRQBZHGiwBXYThAFT-AIJWQAWwn8AHGzkhFLKghDJIdGx8IlIQWFYAAgA1BwB2FhYY%2BKjYggBOROSM1IclLNjONT5IEC0dfSMTc0tPb3I-dVLyvUNjMwsHG1L7AmdxfnlyDwIAWhUkVExcAmJIMnJ0uI5PUfk-AJFTELmyJhXPeFVRABN%2BccSHJpAHHgBPLktSk2QZGSA
-
Thread
RS232: Geöffneter Port weder beschreib- noch lesbar (P5B)
fprintf(stream, "Write test string..."); check_err(WriteFile(hCom, strTest, strlen(strTest), &dwEaten, (LPOVERLAPPED)NULL)); fprintf(stream, "All characters written? ..."); check_err(dwEaten == strlen(strTest)); fprintf(stream, "Reading COM port..."); check_err(ReadFile(hCom, inBuf, sizeof inBuf, &dwEaten, (LPOVERLAPPED)NULL) && dwEaten>0); fprintf(stream, "Read from COM port: \"%*s\"", dwEaten, inBuf); fprintf(stream, "\n\nDone!\n\n"); CloseHandle(hCom); if(stream != stdout)
-
Thread
Spectrum Analyzer Aaronia SPECTRAN V5
INTERNAL PRE-AMP (0.01 GHZ - 3 GHZ) EUR 5,020.00 RSA6114A 02 FREQUENCY MASK TRIGGER / 1 GB MEMORY EXTENSION EUR 7,700.00 RSA6114A 05 SIGNAL OUTPUT PACKAGE: 500 MHZ IF, DIGITAL IQ OUTPUT (LVDS) EUR 6,580.00 RSA6114A
Accessories Product Description Price RSA6114A-R3DW Reparaturservice-Abdeckung für 3 Jahre (incl. Produktgarantie), beginnend ab Auslieferungsdatum EUR 6,030.00 ; RSA6114A-R5DW Reparaturservice-Abdeckung für 5 Jahre (incl. Produktgarantie