-
Thread
EEPROM gibt nur 122 zurück
counter ++; if (counter == 220) { counter = 1; } long_delay(1000); } } [/c] Mfg Pat
eeprom_read_byte(&EE_daten[i]); ... } [/c] 2) Du selbst übernimmst die Verwaltung: [c]uint16_t ee_adr; // Adresse für den EEPROM-Zugriff // die ersten 10 Bytes lesen (Adresse 0-9) uint8_t byte; for (ee_adr = 0; ee_adr < 10; ee_adr++) { byte = eeprom_read_byte((uint8_t*)ee_adr); ..
-
Thread
Heizungssteuerung Wärmepumpe Fußbodenheizung
(hou ==0 && min==0)){ //Statistik at24c32 eeprom //4096x8bit=> 365x 11byte pagewrite 10byte adr=(dayofyear-1)*10 + ((dayofyear-1)/3)*2;//32byte pagewrite i2c_start(0xa0); i2c_write(adr>>8); i2c_write(adr&0xff); //tr-min i2c_write(tr_au_min>>8); i2c_write(tr_au_min&0xff); //tr-max i2c_write
byte tmp_kompressor_max i2c_write(123); i2c_stop(); //test i2c_start(0xa0+1); i2c_write(adr>>8); i2c_write(adr&0xff+9); adr=i2c_readNak(); lgi(6,20,adr); ...
-
Thread
Wie Referenz-ICs altern?
Was die LTZ1000A anbetrifft: Das HP3458A verwendet laut der AN86 von Linear Technonlogy die LTZ1000A als Referenz, das will was heißen. Auch sonst sind die AN86 bzw. deren Anhänge sehr lesenswert.
Kai Klaas schrieb im Beitrag #1925926: >>Ich habe mich auf die LTZ1000A konzentriert. > > Bist du zufrieden mit dem Teil? Wir setzen auch die LTZ1000 ein, ist mit Abstand das Beste. Integrierte Referenzen können ihr nicht das Wasser reichen. Wichtig ist, die
-
Thread
Sehr genaue und stabile Referenzspannung
um 10€ und hat 1ppm/C drift, was besseres wird schnell teuer und braucht mehr strom (LM399 oder LTZ1000).
is necessary". Wenn man eine LTZ1000A mal ohne Heizer ausmißt kommt man auf 40-50ppm/K für die Referenzdiode. Um jetzt auf 0.05ppm/K zu kommen müßte die Temperaturstabilität besser als 1/1000K sein. Außerdem limitieren die Thermospannungen
-
Thread
RFM70 Wahnsinn..
bank0Init[i][1])); // init address registers in bank 0 writeRegPgmBuf((uint8_t *)RFM70_cmd_adrRX0, sizeof(RFM70_cmd_adrRX0)); //writeRegPgmBuf((uint8_t *)RFM70_cmd_adrRX1, sizeof(RFM70_cmd_adrRX1)); writeRegPgmBuf((uint8_t *)RFM70_cmd_adrTX, sizeof(RFM70_cmd_adrTX)); // activate
confRfPwr(pwr): 0 dBm #define DBM5 0x03 // parameter for confRfPwr(pwr): +5 dBm #define ADR_WIDTH3 0x03 // parameter for confAdrWidth(width): 3 byte #define ADR_WIDTH4 0x03 // parameter for confAdrWidth(width): 4 byte #define ADR_WIDTH5 0x03 // parameter for confAdrWidth(width): 5
-
Thread
3 Interrupts am Arduino Nano
void loop() { // Ident(); sensors.requestTemperatures(); tv_A = sensors.getTempC(adr_vl_a); tv_B = sensors.getTempC(adr_vl_b); tv_C = sensors.getTempC(adr_vl_c); tr_A = sensors.getTempC(adr_rl_a); tr_B = sensors.getTempC(adr_rl_b); tr_C = sensors.getTempC(adr_rl_c); UpdateScreen(); //Stellt die Werte auf einem OLED Display dar Serial.println("A: " + String(total_A) + " B: " + String(total_B) + " C: " + String(total_C)); } [/c] Erstaunlicherweise
-
Thread
AVR Synthesizer mit ATxmega128A1
multi 2 ROL dco1out1 STS 0x0318, dco1out0 ; 2 L-Byte to DAC-Register (CH0DATAL Adr. 0x0318) STS 0x0319, dco1out1 ; 2 H-Byte to DAC Register (CH0DATAH Adr. 0x0319) [/code]
r0 subi dco1out1,0x88 sts 0x0318, dco1out0 ; 2 L-Byte to DAC-Register (CH0DATAL Adr. 0x0318) sts 0x0319, dco1out1 ; 2 H-Byte to DAC Register (CH0DATAH Adr. 0x0319) [/code]
-
Thread
enc 28 j 60 bankwechsel geht nicht
} } /** PROTECTED * * Reads from the config register */ static char read_LAN(char adr){ // Select bank select_bank(adr); // Add Command adr = adr | LAN_RCR; // read return cmd_LAN(adr,0); } /** * This function writes to the PHY Registers * * @param ard
10000); */ } } /** * Writes to the config registers */ static char write_LAN(char adr, char data){ // Select bank select_bank(adr); // Add Command adr = adr | LAN_WCR; // Write return cmd_LAN(adr,data); } /** * Select a bank of config registers */ static
-
Thread
Arduino code für PT1000 mit AD Wandler
http://arduinolearning.com/code/arduino-and-mcp3424-a-d-converter-example.php Dazu noch DB vom PT1000: https://www.sensorshop24.de/tpl/download/PT1000-Kennlinie.pdf dann kannst du jetzt programmieren.
beim Hochladen des sketches ist ein Fehler aufgetreten" > raus. Also liegt es gar nicht an dem Pt1000 und dem MCP3424. Bringe erstmal /Blinky/ zum Laufen, notfalls nachdem du den ADC/Pt1000 vorübergehen erstmal wieder entfernt hast.
-
Thread
Probleme bei Lattice I2C EFB mit Wishbone Interface
code] ; init i2c 101_temperatur_device_1 im I2C-Master Mode i2c_101_config_device: movi r0, ADR_I2C_WR ; .equ ADR_I2C_WR, 0x94 ; $4A => 100_10_10 + Write_0 --> 0x94 movi r1, REG_I2C_1_TXDR ; load Tx register with I2C address - Write [0x94] exporti r0, r1
wait_for_i2c_rdy ; @Status mask: 0X04 REG_I2C_1_SR ; read Status Register movi r0, ADR_I2C_CFG ;.equ ADR_I2C_CFG, 0x01 ; TI-Sensor Data_1 movi r1, REG_I2C_1_TXDR ; (0000_0001) 0x01 exporti r0, r1 ; r0 -> (r1) movi r0, I2C_WR ; solo write
-
Thread
ENC28J60 Basics[Beispielprogramm in AVRGCC für atmega8]
im Moment initialisiere (AVR-Assembler): .equ ENC_RX_BUF = $0000 .equ ENC_RX_BUF_LEN = $1000 .equ ENC_TX_BUF = $1000 .equ ENC_MAX_FRLEN = 1518 enc_init_tab: .db ERXSTL,low(ENC_RX_BUF) ; RX-Buffer Start .db ERXSTH,high(ENC_RX_BUF) .db ERXNDL,low(ENC_RX_BUF+ENC_RX_BUF_LEN
,$12 ; Handbuch 6.5 Seite 36 .db MAIPGH,$0C ; Handbuch 6.5 Seite 36 .db MAADR1,MAC_ADR5 ; MAC-Adress Byte 0 .db MAADR2,MAC_ADR4 ; Byteswap! .db MAADR3,MAC_ADR3 .db MAADR4,MAC_ADR2 .db MAADR5,MAC_ADR1 .db MAADR6,MAC_ADR0 ; MAC-Adress Byte 6 ist zwar größtenteils
-
Thread
I2C / M24M01 EPROM an ATMEGA
lcd_zeile[LCD_DISP_LENGTH+1]; lcd_gotoxy(0,0); lcd_putc('§'); Ret=i2c_start(M24M01_ADR|I2C_WRITE|(adresse & 0x10000)>>15); // Adressbit A16 kommt auf Device-Address Bit 1 itoa(M24M01_ADR|I2C_WRITE|(adresse & 0x10000)>>15, lcd_zeile, 10); lcd_puts(lcd_zeile);
unsigned char) (adresse & 0x00ff)); // Adressbits A7-A0 lcd_putc('&'); i2c_rep_start(M24M01_ADR|I2C_READ|(adresse & 0x10000)>>16); Ret=i2c_readNak(); // das Letzte mit NACK beenden. itoa(Ret, lcd_zeile, 10); lcd_puts(lcd_zeile); _delay_ms(1000); i2c_stop();
-
Thread
Variable ohne Funktion
ist "ADR" immernoch bei Wert "0". Den Optimizer habe ich testweise mal auf "O0", mal auf "Os". Hat dabei jetzt eine Idee ?
while(true) { //ADR ADR = 0x31; //Teilnehmer-Adresse 1 //FKT SEND_BEF(); //Sende befehl ANF_REED(); //Anfrage Reed-Kontakt ANF_BAT(); //Anfrage Batterie-Status //STA HAA_ON
-
Thread
Atmega2560 Bootloader
boot_page_fill(adr + j, *lpword++); boot_page_write(adr); while (boot_rww_busy()) boot_rww_enable(); } } //LED on #ifdef USE_FLASH_LED #if
FLASH_LED_PIN; #endif #endif } } unsigned short flash_crc = 0xFFFF; for (adr=0; adr<FLASHEND - BOOTLDRSIZE + 1; adr++) flash_crc = _crc_ccitt_update(flash_crc, pgm_read_byte_far(adr)); if (flash_crc == 0) { //Led off #ifdef USE_FLASH_LED FLASH_LED_DDR
-
Thread
Suche Speicher der 62MByte pro Sekunde speichern kann
Die FIFOs von Cypress sind sehr interessant. Jedoch kosten die größeren FIFOs bereits 1000€ :-) und das ist deutlich zu teuer :-)
verundest und eintaktest: Im FPGA: CLK _____``````_____``````_____``````_____``````_____`````` ADR 000000XXX1111111111111111111XXX2222222222222222222XXX3333 DAT zeitlich so gültig, wie die ADR DE ___________```````````___________```````````___________`````` Am Port ADR 000000000000000011111111111111111111112222222222222222222
-
Thread
ADC Probleme SAMD10/11/20/21
37, sprich ab Adresse 0x806023 Bit 3 bis 0x806024 Bit5. Folgende Zuordnung müsste sich ergeben: Adr 0x806023 Bit3 -> Register CALIBRATION Bit 0 Adr 0x806023 Bit4 -> Register CALIBRATION Bit 1 Adr 0x806023 Bit5 -> Register CALIBRATION Bit 2 Adr 0x806023 Bit6 -> Register CALIBRATION Bit 3 Adr 0x806023 Bit7 -> Register CALIBRATION Bit 4 Adr 0x806024 Bit0 -> Register CALIBRATION Bit 5 usw. Wo liegt mein Fehler, wo übersehe ich etwas? Frustrierte Grüße, Uwe
-
Thread
I2C Ansteuerung ATMega128
#define SIG_2WIRE_SERIAL _VECTOR(34) // Interrupt Vektor für TWI void init_twi_slave (uint8_t adr); void delay_ms(unsigned int period); extern const prog_uint8_t Font1[], Font2[]; uint8_t data=0; uint8_t contr=0; int main(void) { LCD_Init(); delay_ms(1000); init_twi_slave(SLAVE_ADRESSE); Orientation = Landscape; LCD_Cls(yellow); delay_ms(1000); while(1) { if(data != 0) { switch(data) { case '1': ... break; case '2': ...
-
Thread
undefined reference to function bei Atmel I2C-Funktion; warum?
InitUART(); unsigned char write_addr0[2] ={0xd0,0x00}; while(1) { _delay_ms(1000); TWI_Start_Transceiver_With_Data(write_addr0 , 2); _delay_ms(1000); SendUART("b"); } } [/c] Und in der TWI-Master.h: [c] void TWI_Master_Initialise( void );
condition. (0<<TWWC); // break; case TWI_MTX_ADR_NACK: // SLA+W has been transmitted and NACK received case TWI_MRX_ADR_NACK: // SLA+R has been transmitted and NACK received case TWI_MTX_DATA_NACK: // Data byte has been
-
Thread
EleLa - Elektronik Lagerverwaltung
5 Query SHOW COLUMNS FROM elela.param LIKE '%' 5 Query SELECT * FROM adr ORDER BY Bezeichnung 5 Query SHOW TABLES FROM elela LIKE 'adr' 5 Query SHOW COLUMNS FROM elela.adr LIKE '%' 5 Query SELECT
4 Query SHOW COLUMNS FROM elela.param LIKE '%' 4 Query SELECT * FROM adr ORDER BY Bezeichnung 4 Query SHOW TABLES FROM elela LIKE 'adr' 4 Query SHOW COLUMNS FROM elela.adr LIKE '%' 4 Query SELECT
-
Thread
LCD Library T6963c
Habe Adr13 auf Adr15 gelegt. Die gleiche Sch... mfg hft47
>Habe Adr13 auf Adr15 gelegt. >Die gleiche Sch... Bringt alles nichts. Schliess A15 wieder so an wie es vorher war. Laut Datenblatt wird das Display bei 160 Breite im Dual Scan betrieben. Da lässt sich
-
Thread
Ansteuerung RTC 72421
Ddrb = Amask Portb = Dmask DDRD = $03 Set R_d Set W_r End Sub Sub Rtc_write(adr As Byte , Daten As Byte) Ddrb = $ff La = Adr And Amask Lb = Daten Shift Lb , Left , 4 La = La Or Lb Portb = La Waitus 1 Reset W_r Waitus 1 Set W_r Ddrb = Amask End Sub Function Rtc_read(byval Adr As Byte) As Byte La = Adr And Amask La = La Or Dmask Portb = La Waitus 1 Reset R_d Waitus 1 La = Pinb Shift La , Right , 4 Set R_d Rtc_read = La End Function
-
Thread
PIC18F66 ADC per Hand auslesen
Probier mal ob der Compiler nicht auch das kann: ADCON0.CHS = 0; // 1, 2, 3 oder ... adc_rd = ADRES; // ohne H/L
ob der Compiler nicht auch das kann: >> ADCON0.CHS = 0; // 1, 2, 3 oder ... >> adc_rd = ADRES; // ohne H/L > ADRESH/ADRESL ist im Datenblatt mit jeweils 8 bit angegeben. Wenn für den Compiler irgendwo definiert ist, dass ADRES ein 16 unsigned ist und die gleiche Adresse hat wie ADRESL,
-
Thread
spannungsreferenz trimmen mit thermoelement
Spannungsquelle zum kalibrieren von Referenzen also untauglich. Hält man das Thermoelement auf 1000 GradC macht zwar die 1.5GradC Abeweichung nur noch 0.15% aus, aber man mzss erst mal konstante 1000 GradC erzeugen (und dazu wohl messen). Geht also auch nicht.
publicaciones/2005/STD05/ MaWin schrieb im Beitrag #5283338: > Hält man das Thermoelement auf 1000 GradC macht zwar die 1.5GradC > Abeweichung nur noch 0.15% aus, aber man mzss erst mal konstante 1000 > GradC erzeugen (und dazu wohl messen). Nicht ganz ernstgemeinte Ideen und völlig OT...
-
Thread
BMP280 an PIC18F45K42 mit MPLAP und I2C
= 0x03, // standby time = 250 ms STANDBY_500 = 0x04, // standby time = 500 ms STANDBY_1000 = 0x05, // standby time = 1000 ms STANDBY_2000 = 0x06, // standby time = 2000 ms STANDBY_4000 = 0x07 // standby time = 4000 ms } standby_time; struct { uint16_t dig_T1; int16
DO_SEND_RESTART_READ(void) { I2C2_MasterSetCounter((uint8_t) I2C2_Status.data_length); return I2C2_DO_SEND_ADR_READ(); } static i2c2_fsm_states_t I2C2_DO_SEND_RESTART_WRITE(void) { return I2C2_SEND_ADR_WRITE; } static i2c2_fsm_states_t I2C2_DO_SEND_RESTART(void) { return I2C2_SEND_ADR_READ
-
Thread
VBA - lahmarschiges Makro beschleunigen, aber wie?
'****************************************** If (i Mod 1000) = 0 Then Debug.Print i End If Next i Debug.Print "Raus"; Timer - zeit End Sub [/code]
ganzer Spalten oder auch die Find-Methode nutzen: Set RangeFound = Sheet_Preisgruppen.Columns(SZ_AdrNr).Find(What:=AdrNr, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) If RangeFound Is Nothing Then
-
Thread
STM32 HAL I2C Driver nur MSB empfangen
HAL-lib zur Verfügung gestellten Funktionen. --> HAL_I2C_Master_Transmit(&hi2c2, (uint16_t)I2C_adr<<1, &Send_buf, (uint16_t)8, (uint32_t)1000); HAL_I2C_Master_Receive(&hi2c2, (uint16_t)I2C_adr<<1, &Receive_buf, (uint16_t)8, (uint32_t)1000); Die Adresse des Sensors ist 0b1000000. Und wenn ich
8bit-Variablen "S"ehr "T"oller" "M"icrocontroller schrieb im Beitrag #4596049: > (uint16_t)I2C_adr<<1, Was soll das? Die I2C-Adresse ist (inkl. R/W-Bit) 8bit lang und nicht 16!
-
Thread
SPI und I/O Pin zeiten
EINGANG dann muss er immer aus Highliegen um den Masterbetrieb beizubehalten edit2: Glückwunsch adrem zum 1000sten Post ^^
auch, dass der SS normaler I/O ist, wenn die SPI als master betrieben wird. > edit2: Glückwunsch adrem zum 1000sten Post ^^ danke ^^ puh, zum glück wars kein blöder post - die chancen dazu standen nicht schlecht =)