-
Thread
Referenzen von Cirrus Logic / Thaler
letztlich dort aussehen wird, steht noch nicht fest. Bei den anderen Referenzen (LTC6655, REF5025, ADR441) sieht's etwas besser aus: Akku -> Lade-IC -> jeweils eine REF3133/REF3033 -> eigentliche Referenz. Ausgangsbuffer/filter sind auch noch nicht fertig
Arc Net schrieb im Beitrag #2429017: > Bei den anderen Referenzen (LTC6655, REF5025, ADR441) sieht's > etwas besser aus: Akku -> Lade-IC -> jeweils eine REF3133/REF3033 -> > eigentliche Referenz. Ausgangsbuffer/filter sind auch noch nicht fertig Ok. die LTC6655 wollte ich mir auch
-
Thread
Suche MOPPEL Projekt in Heft oder .PDF
mit dem Auslöten, Cu entfernen und zusammenfädeln nochmal machen? Dann schick mir mal Deine Mail-Adr per pn. Grüße Jörg
vorherigen Übertragungen) entfernt werden. Im Bild seht ihr den Buffer nach dem Lesen eines Sektors: - Adr. 8000 bis 807f ist der Ausgabebuffer - Adr. 8080 bis 8100 befindet sich der Eingangsbuffer - Adr. 8100 = Spurregister - Adr. 8101 = Sektorregister Damit sind die Grundroutinen für den Datenaustausch
-
Thread
GLCD mit T6963 Read-Data Problem
**************************************************/ void Graphic(void) { uns8 Innen, Aussen, AdrL, AdrH, Zaehler; uns16 Adresse, Hilfs; Adresse = 0x0081; Zaehler = 0; for(Aussen = 1; Aussen < 33; Aussen++) { /*16-Bit Adresse in zwei 8-Bit zerlegen*/ Hilfs = Adresse & 0xFF00; AdrH = Hilfs >> 8; Hilfs = Adresse & 0x00FF; AdrL = Hilfs; /*Adress-Pointer setzen*/ WriteData(AdrL); WriteData(AdrH); WriteCommand(0x24); for(Innen = 1; Innen < 5; Innen++)
-
Thread
DS1250 oder ähnlicher Speicher - schon damit gearbeitet?
=i; delay_us(2); adr_countup(); // toggelt den count pin am 74HC4040 und zählt delay_us(2); // so die Adresse hoch } cs_memory=1; delay_us(5); oe_memory=1; we_memory=0; Dann versuch ich das ganze auszulesen mit der folgenden Routine DDRF=0xFF; adr_reset(); //wieder auf den Speicherbeginn setzen DDRC=0x00; // PORTC-> Datenbus ->Eingang PORTC=0xFF; oe_memory=1; cs_memory=0; delay_us(5); we_memory=1; oe_memory=0; for (i=1;i<=254;
-
Thread
Referenzspannungquelle und deren Daten bzw. wie berechne ich die Genauigkeit?
suche nach Alternativen habe ich zwei anderen Referenzensp. gefunden, nämlich den LT1461AIS8-2.5 und ADR431BRZ. Jetzt weiß ich aber nicht, wie ich das mit den Daten bzgl. Rauschen, Initial Accuracy usw. machen soll. Ich habe mal die m.M.n. wichtigsten Daten rausgesucht und verglichen, dabei kam das raus: [code] | REF5025 | ADR431BRZ | LT1461 | max Output | 10 mA | 30 mA | 50 mA | Line Regulation | 1 ppm/V | 20 ppm/V | 12 ppm/V | Initial Accuracy | 0,05% | 0,05% | 0,04% |
-
Thread
LM335 Temperaturmessung: Ausgangsspannung = Betriebsspannung ?
Richtigen Transistoren verwendet habe? Ich habe irgendwelche Standardgeräte dafür benutzt. Aber beim ADR06 hatte ich keine Probleme. Viele Grüße
jo schrieb im Beitrag #6748271: > Bei Temperatursensor fällt mir spontan PT100/PT1000 oder ganz einfach > Diode ein. Kommt drauf an. Ich habe vor ganz vielen Jahren mal ein Raumthermometer mit LM335 und großem Drehspulzeiger gebastelt. Der LM ist fast fertige Arbeit, 10mV pro K.
-
Thread
µC Programmierung für ADC / DAC gesucht
eine Zusatzaufgabe. Priorität hat die RS232-ADC/DAC Wandlung. Zur Zeit wird eine Extraboard vom Typ ADR2000 eingesetzt (http://www.ontrak.net/adr2000.htm) , das aber ein Overkill für die Applikation darstellt.
liefere. Bezahlt hätte er mich falls er mit dem Prototyp jemanden findet der bereit gewesen wäre 1000 Stk. des Prototypen zu kaufen.
-
Thread
EleLa - Elektronik Lagerverwaltung V4.0
aber dennoch gemein! Schau mal das Log an, das ist mir vorher auch nicht aufgefallen! Markus, 1000 Dank, Spende sollte angekommen sein. :) Schönen Gruß
nicht, z.B. darf ein 5% Widerstand mit einem 1% Widerstand ersetzt werden, umgekehrt jedoch nicht) - Adr.EPreis, Adr.VPreis (Für z.B. Stundensatz) - Projekt.BKiste (Bestücker-Kiste) - Projekt.BKisteStatus (Bestücker-Kiste Status, im Haus, außer Haus, zurück/nicht kontrolliert) - Projekt TecData (ähnlich
-
Thread
Gleichzeitig Schleife durchlaufen und auf Knopfdruck warten.
Array: [c] while(1){ //messen Dat[MessNr]=ADR1H*2.5-420; //Berechnung der Temperatur MessNr=MessNr+1; for(i=1;i<=20;i++){ //Schleife für Pause und Abbruch
Standard I/O-Funktionen */ int main(void){ int MessNr,MessNrb, rzeit, i; unsigned char Dat[1000]; LcdInit(&PORTH,&DDRH); //Initialisierung Lcd am PORTH LcdCursOff(); //Cursor unsichtbar LcdCursSet(0x80);
-
Thread
Problem mit einem TMC222
------------------------------------------ Zu aktivierenden TMC auswaehlen (4) : 01 OTP-OSC : 1000 OTP-Iref : 1001 OTP-TSD : 000 OTP-BG : 1001 OTP-AD (ADR) : 1001 OTP-Irun : 1000 OTP-Ihold : 1001 OTP-SecPos : 10010001001 OTP-Shaft : 0 OPT-Acc : 1001 OTP-Stepmode : 10 OTP-LockBT : 0 OTP-LockBG
--------------------------------- Auswahl : 211 OTP von TMC222 [1] bei Adresse 193 OTP-OSC : 1000 OTP-Iref : 1001 OTP-TSD : 000 OTP-BG : 1001 OTP-AD (ADR) : 1001 OTP-Irun : 1000 OTP-Ihold : 1001 OTP-SecPos : 10010001001 OTP-Shaft : 0 OPT-Acc : 1001 OTP-Stepmode : 10 OTP-LockBT : 0 OTP-LockBG
-
Thread
Genesys 2 (Xilinx Kintex 7): Audio-Codec Implementierung und Filteranbindung
32 Sch=aud_adc_sdata set_property -dict { PACKAGE_PIN AD19 IOSTANDARD LVCMOS18 } [get_ports { aud_adr0 }];#{ aud_adr[0] }]; #IO_L10P_T1_32 Sch=aud_adr[0] set_property -dict { PACKAGE_PIN AG19 IOSTANDARD LVCMOS18 } [get_ports { aud_adr1 }];#{ aud_adr[1] }]; #IO_L8P_T1_32 Sch=aud_adr[1] set_property
Ja geht bestimmt einfacher. Wenn ich for i in range(0,10000): statt for i in range(0,1000): schreibe, rechnet Matlab irgendwie ewig und kommt nicht zu einem Ende. Bei 1000 gehts nóch recht zügig. Irgendwie seltsam. Das funktioniert mit deinem Pythonskript deutlich besser. Hab bei meinem
-
Thread
Daten ins Flash speichern mit dem STM32
access */ FLASH_Unlock(); /* Calculate the end address */ u32l_start_address = u32param_start_adr; u32l_end_address = u32param_start_adr + u32param_length; /*Check if the start-address is valid */ if (u32l_start_address >= ADDR_FLASH_START) { /*Check if the end-address is valid */
} } else { /* Illegal end-address, set error*/ u32l_error_code = ERR_END_ADR_FLASH; } } else { /* Illegal start-address, set error*/ u32l_error_code = ERR_START_ADR_FLASH; } /* Lock the Flash to disable the flash control register access (recommended
-
Thread
Einregister- vs. Mehrregistermaschine
>Nenn mir einen der Firma unbekannten Controller, der bei angepeilten >1000 Stück und ein paar Monaten Entwicklungszeit billiger ist als das >dem "Opa" bestens bekannte und ausreichende 8051-Derivat. >> Und nur darauf kommt es an. ...und deswegen sind die Projekt-zahlen
Gegenteil, ich bin mir sicher, das viel gerne einen anderen nehmen würden (insbes. wegen besserer Adr.arten), könnten sie sich nur mal dazu überwinden ein anderes Datenblatt anzusehen.
-
Thread
EEPROM 24C256 und Standby Mode
. Write Operations). Punkt 2 interpretiere ich so: [code] int SetStandby(unsigned char txAdr, unsigned char byteCount, unsigned char *field) { TI_USCI_I2C_transmitinit(txAdr, 0x0c); // init I2C/USCI (transmit) TI_transmit_field = field; byteCtr = byteCount; UCB0CTL1 |= UCTR
see 7. Write > Operations). > > Punkt 2 interpretiere ich so: > int SetStandby(unsigned char txAdr, unsigned char byteCount, unsigned > char *field) > { > > TI_USCI_I2C_transmitinit(txAdr, 0x0c); // init I2C/USCI (transmit) > TI_transmit_field = field; > byteCtr = byteCount; > UCB0CTL1
-
Thread
chinesisches IP Relays board
gepingt, um alle anderen möglichen Netze jetzt durch zu pingen, muß ich aber jedesmal meine Netzwerk Adr. von Hand ändern. Das dauert.
um alle anderen > möglichen Netze jetzt durch zu pingen, muß ich aber jedesmal meine > Netzwerk Adr. von Hand ändern. Das dauert. Nimm doch NMAP, für Widnows auch erhältlich.
-
Thread
I2C Verbindung fehlerhaft
(1 << TWINT))) ; // Statusregister checken twst = TWSR & 0xf8; if ((twst != TWI_MTX_ADR_ACK) && (twst != TWI_MRX_ADR_ACK)) return false; return true; } void TWIM_Stop(void) { // Sende Stop Befehl TWCR = (1 << TWINT) | (1 << TWSTO) | (1 << TWEN); // Warte bis Befehl
uint8_t TWI_Response = 0; uint8_t data[8]; cli(); if (MASTER) { _delay_ms(1000); _delay_ms(1000); if (!TWIM_Init(TWI_BITRATE)) while (1) { PORTB ^= (1 << PB0) | (1 << PB1); _delay_ms(100); } //else // PORTB &= (1 << PB0);
-
Thread
LTC6655 Referenz DemoBoard evtl. vorgealtert?
werden. Da könnte ich mir vorstellen, dass es sich für LT lohnen kann die Demoboards einfach mal 1000h laufen zu lassen, bevor sie rausgehen.
Arc N. schrieb im Beitrag #4460279: > Getestet wurden AD587, LTC6655, > ADR445/435, MAX6126, LT1021, VRE305, MAX6350 (die letzten drei sind > Buried Zener). Die AD587 ist auch eine buried zener. Gruß Anja
-
Thread
Programm von mega32 auf mega328P convertieren
ich. [code] #ifdef _DEBUG_ENABLED_ #define SEND_DEBUG(x) sendI2CBlocking((uint8_t)I2C_DEBUG_UART_ADR, (uint8_t*)x, strlen(x)) #define SEND_DEBUG_LEN(x, y) sendI2CBlocking((uint8_t)I2C_DEBUG_UART_ADR, (uint8_t*)x, y) #define SEND_DEBUG_P(x) sendI2CBlocking_p((uint8_t)I2C_DEBUG_UART_ADR, (uint8_t*)x, strlen_P(x)) #define SEND_DEBUG_PLEN(x, y) sendI2CBlocking_p((uint8_t)I2C_DEBUG_UART_ADR, (uint8_t*)x, y) #else #define SEND_DEBUG(x) /*x*/ #define SEND_DEBUG_LEN(x, y) /*x,y*/ #define SEND_DEBUG_P(x) /*x*/ #define SEND_DEBUG_PLEN(x, y) /*x,y*/ #endif [/code] Was aber bedeutet,
-
Thread
MS-DOS, auf ISA Bus schreiben
sitzten sowohl im Daten- wie im Addressbus. Auf dem 8-bit Teil des ISA Bus liegen DATA<0..7> und ADR<0..19>. Auf der 16-bit Erweiterung des ISA Bus liegen DATA<8..15> und ADR<17.23>. Ich würde jetzt gern ein kurzes Testprogramm schreiben, mit dem ich gezielt auf eine Addresse einen Datenwert schreibe
10 Das wäre als rudimentärer Test für den 8-bit ISA Teil ok, aber ich komme damit nicht in den ADR<17.23> Bereicht, und OUT schreibt nur ein Byte also auch kein Test für DATA<8..15>. Was Programmiersprachen angeht bin ich offen, QBASIC, darf auch gerne C sein oder Turbo Pascal, eigentlich alles
-
Thread
Raspi Pi Pico schnell genug um 4Mhz Z80 zu sniffen?
hat ein bissl logic zwische dem EPROM und dem Datenbus sitzen. Die Logic verknüft ~(~M1) AND ((ADR3 XOR DATA5) OR (ADR5 XOR DATA2)) In einfachen Worten: Immer wenn kein M1 zyklus der CPU vorliegt, dann XORe die Datenbits mit den dazugehörigen Addressbits. Da ich aber rein am ROM code nicht erkennen
Adressleitungen): Christoph L. schrieb im Beitrag #7599234: > Die Logic verknüft ~(~M1) AND ((ADR3 XOR DATA5) OR (ADR5 XOR DATA2)) > > In einfachen Worten: > Immer wenn kein M1 zyklus der CPU vorliegt, dann XORe die Datenbits mit > den dazugehörigen Addressbits.
-
Thread
GNU GCC und ISR auf Cortex-M3
aus der Tabelle des Programmteils holt und dort hinspringt. Also Quasi so: Boot-ISR() { final-adr=(0x4000+32); jump final-adr; } Ich weiß, das geht so in C nicht. Aber wie kann ich sowas in C programmieren? Kann mir da jemand weiterhelfen? Danke...
Linkerscript zwei Speicherbereiche festlegen. z.B. Bootloader: 0 bis 0xfff Anwenderprogramm: 0x1000 bis 32k Bootloader: /* Memory Definitions */ MEMORY { ROM (rx) : ORIGIN = 0x00000000, 0x00000FFF RAM (rw) : ORIGIN = 0x40000000, LENGTH = 8k } Anwenderprogramm: * Memory Definitions
-
Thread
Platine für CAN BUS
für einen CAN BUS Teilnehmer geätzt hat? Platine: AVR Baustein z.B. ATMEGA8 oder ATMEGA8535 + SJA1000(CAN CONTROLLER) Da ich mit CodeVisionAVR programmiere wäre es super, wenn ich auf dieser Platine einen von den oben genannten AVR Bausteine verwenden könnte + SJA1000. Gruß
und kann direkt ueber den usb-port programmiert werden. Direkt hat er kein CAN, da haengt ein sja1000 am Adr/Data Bus ... Irgendwo hab ich für das Parallel-Port Dongle eine Software unter DOS, da ich die Windows-Treiber nicht rausgeben darf. Die DOS-Software ist zwar nicht Interruptfaehig, aber
-
Thread
multiple definition of 'vector_6'
Phasenverschiebung //Inkremente inc=incinccounter/4; //zurueckgelegter Weg distancem=((float)inc/1000); //INTEGER distance_int=distancem*1000; speed_int=speed*100; humi_int=sht3x.getHumidity()*100; temp_int=sht3x.getTemperature()*100; //Restart the interrupt processing //INT0
Phasenverschiebung //Inkremente inc=incinccounter/4; //zurueckgelegter Weg distancem=((float)inc/1000); //INTEGER distance_int=distancem*1000; speed_int=speed*100; humi_int=sht3x.getHumidity()*100; temp_int=sht3x.getTemperature()*100; //Restart the interrupt processing //INT0
-
Thread
Kleines Rätsel zum Freitag, was stimmt hier nicht?
CD-Qualität ist nicht 100% korrekt, man verwendete schon Kompression. Ich hatte Ende 90er einen Receiver mit ADR (Astra Digital Radio) und speichertechnisch kamen dann ja schon die CD-Brenner. Ich war fasziniert von der Möglichkeit, vom ADR über SPDIF-Kabel rein digital Radiosendungen am PC mitschneiden zu können
ADR seit 2012??
-
Thread
xmega eeprom Probleme
eeprom_write32(TEST_PAGE_ADDR_1, TEST_BYTE_ADDR_3, 4200000); while(1) { _delay_ms(1000); refresh_data(); sprintf(message, "buf1: %i buf2: %u buf3: %lu \r\n", buf1, buf2, buf3); usartC0_puts(message); } } [/c] Jetzt zu meinem Problem: Wenn ich 16
Wie wärs mit [c] eeprom_write_byte (((uint8_t *)WERT_LSB_ADR, (uint8_t) WERT_LSB); [/c]
-
Thread
Honeywell Rondostat HR20E per AVR steuern und konfigurieren
. CMD=... Param1=... Param2=... Param3=... switch(CMD) { GET_BDS1: // Kommando BDS1 adr? Get_ByteDataSet1(Param1); break; SET_BDS1: // Kommando BDS1 adr, data Set_ByteDataSet1(Param1, Param2); break; GET_BDS2: // Kommando BDS2 adr? Get_ByteDataSet1
1 was könnte die Ursache ein 2 im .eep existiert kein Wert x28. In welchem File finde ich die Adr. x16D mit welchem Offset dann ? (.elf, .hex, oder ... und an welcher Adr. ?) Im .elf steht an Adr. 3B61 = 39f4+16D jedenfalls x28 ...
-
Thread
allgemeine PicoMite Anfängerfragen
Ich habe deshalb mal einen I²C-Scanner gebastelt: [code] izs: SetPin gp20,gp21,i2c I2C open 100,1000 For adr = &H00 To &Hff I2C read adr,0,1,reg If MM.I2C = 0 Then Print "Adresse: "Hex$(adr)" = "Bin$(adr)" Wert: "Hex$(reg)" = "Bin$(reg) EndIf Next adr I2C close [/code] Der LM73 hat
-
Thread
DCF-Uhr, Sonnenstand, TWI-Port, Alarmfunktion für m8 in C
63 Schaltzeiten passt nicht wirklich zusammen ;-) Auf dem ausgelagertem Eeprom könnten ja bis zu 1000 Schaltzeiten gespeichert sein, aber man kann es auch noch anders nutzen. Mir schwebte dann etwas wie in http://www.mikrocontroller.net/articles/Soft-PWM vor. Also eine Liste für die 70 Schaltausgänge
nur einmal vorkommen haben.Dafür reicht ein Bitfeld. Innerhalb einer Minute kann man sicher aus 1000 Einträgen, den nächsten Eintrag für den/die gerade abgearbeiteten Schaltka nal/äle finden. Damit müsste die CPU auch länger schlafen zu legen sein können. Die braucht ja jede Sekunde nur einmal die
-
Thread
Lattice ECP3: IO Read Begrenzung
4'bxx10: la <= {tran_addr, 2'b01}; 4'bx100: la <= {tran_addr, 2'b10}; 4'b1000: la <= {tran_addr, 2'b11}; endcase end //clk end endmodule [/vhdl]
tran_be(tran_be), .tran_addr(tran_addr), .tran_tc(tran_tc), .tran_attr(tran_attr), .wb_adr_o(wb_adr_o), .wb_dat_o(wb_dat_o), .wb_cti_o(wb_cti_o), .wb_we_o(wb_we_o), .wb_sel_o(wb_sel_o), .wb_stb_o(wb_stb_o), .wb_cyc_o(wb_cyc_o), .wb_lock_o(wb_lock_o), .wb_ack_i(wb_ack_i)
-
Thread
[S] Leute die einen Logic Analyzer (MiniLA) bauen wollen
1M sram nimmt 231/288 (81%) Macrocells > > Die 3 pins die dafür benutzt werden : > NET "sram_adr<17>" LOC = "P124"; > NET "sram_adr<18>" LOC = "P125"; > NET "sram_adr<19>" LOC = "P39"; Was sagt die clk Frequenz dazu? Immer noch 100MHz
den LPT draufstecken falls gewünscht. Was SRAM angeht, ich persönlich würde die NET "sram_adr<17>" LOC = "P124"; NET "sram_adr<18>" LOC = "P125"; NET "sram_adr<19>" LOC = "P39"; auch geroutet haben, mit lötpads damit man die SRAM-size wählen kann.
-
Thread
Verständnisfrage zu 62xxx Ram's
man schrieb im Beitrag #3164530: > Heute macht man sowas mit einem Raspberry Model B. Wäre mir 1000-fach oversized, aber eine MC-Lösung ist schon der sinnvolle Weg.
Adresslatch A00-A15 auf SBI ALH ;Adresslatch A16-A19 auf SBI MWC LDS temp1, Adr0 ;Schreibadresse -> Arbeitsregister LDS temp2, Adr1 LDS temp3, Adr2 OUT PortC,temp3 ;Ausgabe A16-19 auf PortC CBI ALH ;Adresslatch verriegeln
-
Thread
MC8051 Oregano Modelsim
zur Adresse anliegt bekomme ich nach ca. 1000ns Simulationszeit folgende Warnung auftritt "# ** Warning: CONV_INTEGER: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, and it has been converted to 0." einen Takt später bricht die Simulation
sinnvolles drin? [pre] There is an 'U'|'X'|'W'|'Z'|'-' ... [/pre] Das liegt daran, daß /rom_adr_i/ nicht interpretierbar ist. Duke
-
Thread
Referenzspannung 5V besser als LM 336 ?
Analog Devices Serie ADR420 http://www.analog.com/en/references/voltage-references/adr423/products/product.html
3ppm und 10V) sind teuer und heute out, ebenso Z-Dioden, selbst so präzise wie die 1N829 oder LTZ1000.
-
Thread
ADS1115 Initialisierung ADC auslesen ATmega8 Assembler ASM
avrasm] - man läßt den Assembler die Daten anlegen und verwalten, nicht manuell! - die Vorsilbe adr_ ist Unsinn, denn die Labels sind immer Adressen - Wenn man viele Variablen mit gleichem Namen und ner Nummer am Ende hat, schreit das nach einem Array [avrasm] ; SRAM Daten .dseg
DISP_1 WRITE_DISPLAY DISP_1 WRITE_DISPLAY DISP_1 WRITE_DISPLAY DISP_5 WAIT_MS 1000 rcall ads_init [/c]
-
Thread
FT800 / FT810 Library
und anscheinend möchte er die font nicht an stelle 0 schreiben, > schreibe ich sie an EVE_RAM_G + 1000 (also 1000) klappts. Na das wird ja in dem EVE Asset Builder eingestellt beim Konvertieren, Default-Wert ist 1000, warum auch immer. > Habe nicht mitbekommen, dass es mittlerweile die 2.1 gibt
is gone" so, what can I do, if I have to use old FT800? When i use yours example: #define IMG1_ADR 0 while(ft800_busy() == 1); ft800_cmd_loadimage(IMG1_ADR, FT_OPT_NODL, jpg4, 2640); ft800_cmd_execute(); //then in loop: ft800_cmd_dl(DL_BEGIN | FT_BITMAPS); ft800_cmd_dl(BITMAP_SOURCE(IMG1_ADR
-
Thread
Library für EA-DOGM Grafikdisplays inkl. Font-Generator
; pix_pos = y0 % 8; data = data << pix_pos; uint8_t y_dots; uint16_t buf_adr; // Grafic Buffer-Adresse berechnen buf_adr=((x0+1)*((y0/8)+1)); // alte Y-Dots lesen y_dots=lcd_buffer[buf_adr]; // alte und neue Y-Dot verknüpfen und speichern
LCD_Plot_Line(x2,y2,x1,y1); // else draw form down to up // next sample_adr. xplot++; wave_adr = wave_adr + adr_offset; x2=x1;y2=y1; } [/c] Die Buffergröße für die Zeichenfunktion konnte ich stark reduzieren. Jetzt werden für das zeichnen
-
Thread
93C66 Tacho Datei
34 31 35 0L0ZCF3541059415 000001B0 00 48 30 30 30 30 30 36 38 33 33 4F 31 30 30 30 .H000006833O1000 000001C0 33 39 32 31 33 30 30 30 30 30 30 30 30 30 30 FF 392130000000000ÿ 000001D0 41 00 00 00 20 00 10 04 FA 1A 00 2F B7 01 00 00 A... ...ú../·... 000001E0 00 1E 01 02 04 74 31 79 BC 31 32
gewundert. Im Prozessor wird wohl so was ausgeführt: [c]uint32_t kmstand = 1; for (uint16_t adr = 0x1F0; adr < 0x200; adr++){ kmstand += ((0xFFFF - read_93c66_word_von_adresse(adr))); } show_kmstand(kmstand << 1); // *2[/c] Aber ich denke das passt so. Vieleicht prüft Nick das ja und
-
Thread
allgemeiner Programmierstil in ASM?
deine Include-Datei kommt: ; Nur ein Beispiel für ein Unterprogramm .macro mactest1 ldi zh,high(adr) ldi zl,low(adr) lpm ret .endmacro In Deinen Quellcode kommt dann folgende Konstruktion: test1: mactest1 [...] rcall test1 Mit dem Macro-Aufruf mactest1 wird der Macrocode in das Programm
Softwareinterrupt ist wieder auch nur reine Ansichtssache. Ob ich nun einen INT21 aufrufe oder einen CALL 1000h und die entsprechende Routine an 1000h linke, ist vollkommen gleich. Der einzige Unterschied, unter DOS kann ich einen Interrupt verbiegen, aber nur, weil der Kodespeicher im RAM ist. Aber bei
-
Thread
240fache Verzweigung
NoCmd cmp.b CmdTbl(R5),R4 jz FndCmd inc R5 jmp ParCmd FndCmd rla R5 mov CmdAdr(ACC),PC NoCmd bla bla CmdTbl DB 08h,0dh,1bh,'A','C','+','-','0',0 EVEN CmdAdr DW CmdBS,CmdCR,CmdESC,LtrA,LtrC,CmdPl,CmdMi,Cmd0 EVEN CmdBS bla bla CmdCR bla bla
a, r7 movc a, @a+dptr ret ;r7 = high, a = low byte table: dw 1000 dw 2000 usw. [/AVRASM] Peter
-
Thread
intelligentes UART Interface für / mit PICO
Dezimaldarstellung mit Punkt/Komma liest und ins binäre übersetzt. Der Input könnte so aussehen: ADR: 16384 DAT: T"Hallo",Z"1000.0" "T" wäre ein Text und müsste als ASCII H.a.l.l.o ins RAM. "Z" wäre eine Zahl und müsste gewandelt und als 16 Bitwert gespeichert werden. Wenn "ADR" kommt, muss
-
Thread
Ausgänge PCF8574 einzeln unabhängig schalten
Programm schalte ich jeweils 1 Ausgang des PCF. [c] void led_blinken1() { lauf1++; if(lauf1==1000) { PORTA &= ~(1<<PA0); // Schaltet Pin i2c_start(adr2_w); // Schreibbefehl für Device 1 i2c_write(0xfe); // Alle i2c_stop(); } else { if(lauf1==2099) { PORTA |= (1<<PA0); // Schaltet Pin i2c_start(adr2_w); // Schreibbefehl für Device 1 i2c_write(0xff); // Alle i2c_stop(); lauf1=0; } } } [/c] mit 0xfe schalte ich z.B. Ausgang 1 ein. Mit 0xff schalte ich
-
Thread
Temperaturmessung mit PT100
Es gibt übrigens auch Pt1000 statt Pt100. Da hat man dann auch gleich weniger Eigenwerwärmung.
Beispiele für die erreichbare Auflösung mit einem 12-Bit ADC: T/°C Rt ADC Steps Pt1000 ------------------------------- -10,0 960,9 2007 0,0 1000,0 2048 41 10,0 1039,0 2087 39 20,0 1077,9 2125 38 30,0 1116,7 2161 36 40,0 1155,4 2196 35 Auflösung 50,0
-
Thread
+-1000V DC Quelle
im Beitrag #5650705: > Keithley 237 oder Fluke 332/335/5440B? Der 5440B kann doch nur 25mA bei 1000V.
Wenn es von bester Qualität sein darf, dann empfehle ich ein Gerät von Kikusui. Das PAT1000-8T liefert 1000V bei 8A. Allerdings ist es nicht ganz billig: Um die 25k Euro solltest Du dafür schon einplanen :)
-
Thread
Cyclone III "multiple drivers"
clk => main_clk, pixel_clk => pixel_clk_i, addr_a => fb_adr(4 downto 1), addr_b => clut_adr(3 downto 0), data_a => fb_ad(26 downto 24), data_b => (others => '0'), we_a => clut_wr(0),
Nenn's verfallen oder ungenutzt lassen, ist ja vergleichbar mit der Situation, in der z.B. nur 1000 Arrayelemente verwendet werden, der Rest bleibt dann ungenutzt. Quartus jedenfalls macht(e) das so.
-
Thread
Wat ist bei Mouser los? Alles gecancelt!
AD8361ARTZ-RL7 View Order Details 278297856 4 37976957 Analog Devices Inc. ADR4533ARZ-R7 View Order Details 278297856 3 37976957 Analog Devices Inc. LTC2057HVIMS8#PBF View Order Details 278297856 6 37976957 Analog Devices Inc.
AD8361ARTZ-RL7 View Order Details 278297856 4 37976957 Analog Devices Inc. ADR4533ARZ-R7 View Order Details 278297856 3 37976957 Analog Devices Inc. LTC2057HVIMS8#PBF View Order Details We are sorry for any inconvenience this causes, Mouser Customer
-
Thread
Probleme mit I2C beim STM32F103C8T6
Adr, unsigned char *Data, unsigned int Len){ //I2C Daten senden bool success = true; unsigned int x = Len; unsigned char *data = Data; //Start-Condition while(__I2C_BUSY); __I2C_START; while(!__I2C_START_SENT); I2C1->DR = (Adr << 1); //Adresse ist 0x27 -> nach dem 'Schieben' ist der Byteinhalt 0x4E while(!__I2C_ADDR_SENT); // <--- Hier bleibt das Programm haengen!! AF ist gesetzt und SCL ist auf LOW (wird nicht durch
-
Thread
Frage an die Netzwerker (default route)
scope link metric 1000 192.168.5.0/24 dev wlan0 proto kernel scope link src 192.168.5.2 metric 600 192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.53 metric 100
(argc 2) Hier wollen 2 Schritte NACHEINANDER geschehen: 1. der Name "www.heise.de" in eine IP-Adr. aufgelöst bekommen 2. diese IP-Adr. erreicht werden und der Weg dorthin angezeigt bekommen. Es scheitert bereits bei 1. Da ist die Fehlermeldung unmissverständlich, zu 2. kommt es nicht. Von
-
Thread
Programm läuft nur mit JTAG Fuse
interrupt TIMSK0 = (1<<TOIE0); // Timer Overflow interrupt enable ICR1 = 1000; //TOP-Wert für Zähler = 1000 OCR1A = 800; //Vergleichsregister = 1 TCCR1A = (1<<COM1A1)+(1<<WGM11); //WGM11+12+13 = Fast PWM mit ICR1 als TOP TCCR1B
main(void) { /* Replace with your application code */ initialisierung(); LCD_I2C_ADR = 0x3C; // Display 1 lcd_init(LCD_DISP_ON); // init lcd and turn on LCD_I2C_ADR = 0x3D; // Display 2 lcd_init(LCD_DISP_ON); // init lcd
-
Thread
SJA100 Leseproblem
RESET(SJA1000_WR); _NOP(); SET(SJA1000_WR); } uint8_t sja1000_read(uint8_t address) { uint8_t data; // set address SET(SJA1000_ALE); PORT(SJA1000_DATA) = address; _NOP(); RESET(SJA1000_ALE); DDR(SJA1000_DATA) = 0; // read data RESET(SJA1000_RD); _NOP(); data = PIN(SJA1000_DATA); SET(SJA1000_RD); DDR(SJA1000_DATA) = 0xff; return data; } [/C]
-
Thread
Zaehler so langsam?
when "0111" => ramenable_int <= "000001000000"; DOUT <= DIN(63 downto 56); when "1000" => ramenable_int <= "000010000000"; DOUT <= DIN(71 downto 64); when "1001" => ramenable_int <= "000100000000"; DOUT <= DIN(79 downto 72); when "1010" => ramenable_int <= "001000000000
nachvollziehbar. In der ursprünglichen Lösung gab es zwei Quellen für den synchronen Reset des Zähler, RST und "adr_cnt = "11111111111". Ich hatte den adr_cnt = "111111111" wegoptimiert, was nur ein bischen gebracht hat, weil der Zähler immer noch einen synchronen Reset brauchte. Erst das Wegoptimieren des synchronen