-
Thread
Arduino: digitalRead in Interrupt ist unzuverlässig
Und ich bitte dich. Bevor du mir den Artikel mit das hier schickst... [code] int8_t code, diff, tmp; tmp = ENCODER_PIN; code = 0; if ( tmp & PHASE_A ) code = 3; if ( tmp & PHASE_B ) code ^= 1; // convert gray to binary diff = last - code; // difference last - new
> Und ich bitte dich. Bevor du mir den Artikel mit das hier schickst... > int8_t code, diff, tmp; > tmp = ENCODER_PIN; > code = 0; > if ( tmp & PHASE_A ) code = 3; > if ( tmp & PHASE_B ) code ^= 1; // convert gray to binary > diff = last - code; // difference last
-
Thread
BMP180 I2C Problem?
i2c_rep_start(BMP180_address+I2C_READ); tmp_cal = i2c_readAck()<<8; tmp_cal |= i2c_readNak(); i2c_stop(); return tmp_cal; } [/c]
Ich glaube aber nicht, dass bei dir am Platz 36°C sind. Also stimmt es noch nicht so ganz.
-
Thread
Testdisk auf crypt (luks) Partition anwenden - geht das?
file or directory Failed to open temporary keystore device. Partition #5&6 sda5/sda6, die var und tmp enthalten und ebenfalls verschlüsselt sind, können gemounted werden und befinden sich ja auch innerhalb der erweiterten Partition. Ich konnte Gestern noch mit cryptsetup luksDump mir die Metadaten
o.g. Output. Aber!! cryptsetup -v --debug luksHeaderBackup /dev/loop0 --header-backup-file /tmp/hbck.bin # cryptsetup 1.6.2 processing "cryptsetup -v --debug luksHeaderBackup /dev/loop0 --header-backup-file /tmp/hbck.bin" # Running command luksHeaderBackup. # Locking memory. # Installing SIGINT
-
Thread
Display Ansteuerung - 16 x 4 DotMatrix LCD
Next Bt 'Das LCD nach ca. einer Stunden neu initialisieren If Initcounter = 36 Then Initlcd End If Next Initcounter Loop End
das LCD // String liegt direkt im Flash Speicher void lcd_string_P( PGM_P data ) { uint8_t tmp; tmp = pgm_read_byte( data ); while( tmp != '\0' ) { lcd_data( tmp ); data++; tmp = pgm_read_byte( data ); } } ///////////////////////////////////////////////////////
-
Thread
FT800 / FT810 Library
,"0"); strcat(tmp_str,num2string(miesiac,NONE)); strcat(tmp_str,"/"); if(dzien<10) strcat(tmp_str,"0"); strcat(tmp_str,num2string(dzien,NONE)); strcat(tmp_str," "); if(godziny<10) strcat(tmp_str,"0"); strcat(tmp_str,num2string(godziny,NONE)); strcat(tmp_str,":"); if(minuty <10) strcat(tmp_str,"0"); strcat(tmp_str,num2string(minuty,NONE)); //strcat(tmp_str,":"); if(sekundy <10) strcat(tmp_str,"0");
-
Thread
2 Dallas ds18s20 haben 3 Grad Unterschied
gesamten Temp-Bereich) hat, geben sie offen zu, aber sie sind bestimmt nicht die einzigen. Die TMP100 / TMP101 von TI sind wirklich eine gute Alternative, halt mit i2c. Hab ich alles schonmal hier beschrieben: Hier ein später Nachtrag: Es ist tatsächlich so wie Du gelesen hast: Hab's gestern
, warum alle Bauteile im normalen Anti-Static-Bag kamen, nur der TMP100 verschweisst und mit Silica Gel dabei. Als "Packungsbeilage" stand noch eine kleine Appnote von TI dabei, welche besagte, dass man den TMP100 vor dem Einlöten in seine Schaltung soundsoviele Minuten
-
Thread
Atmega2560 SPI-Verbindung zu ext. AD-Wandler
= 0x00; // dummy data while (!(SPSR & (1<<SPIF))); // wait for transmission end tmp = (int16_t)SPDR << 8; SPDR = 0x00; // dummy data while (!(SPSR & (1<<SPIF))); // wait for transmission end tmp |= SPDR & 0xFF; SPDR = 0x00; // dummy data
/ wait for transmission end SPDR; // dummy read // sign extention tmp &= 0x3FFF; // clear MSBs if (tmp & (1<<13)) tmp |= 0xC000; // copy bit 13 to 14 and 15 return tmp; } int main(void) { // IO init DDRB |= (1<<PB1) | (1<<PB0);
-
Thread
ATtiny13 lässt sich nicht programmieren - Brauche Ideen zum debuggen
ausführen. Der Output von den Fuses: [code] avrdude -c usbasp -b 300 -p t13 -q -U lfuse:r:LOW.tmp:h -U hfuse:r:HIGH.tmmp:h avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: AVR device initialized and ready to accept instructions avrdude: Device signature = 0x1e9007 avrdude: reading lfuse memory: avrdude: writing output file "LOW.tmp" avrdude: reading hfuse memory: avrdude: writing output file "HIGH.tmmp" avrdude: safemode: Fuses OK [/code] ergibt folgende Konfiguration: [code] LOW: 0x6a HIGH: 0xff [/code] Der Upload
-
Thread
Suche nach einem Temperatursensor
TMP35/36/37 von Analog Devices fangen erst bei 2,7V an. ZMD Sensoren gehen ab 3,0V. TMP102 von TI ist Digital, geht ab 1,4V TMP300 von TI ist Analog, geht ab 1,8V; 10mV/K
-
Thread
Vodafone Webby Webradio
Erstell doch mal folgende update.sh: [code] #!/bin/sh date=`date` echo "SD-Card inserted $date" >>/tmp/update.log # prozesse auslesen ps >>/tmp/update.log # mountlist auslesen mount >>/tmp/update.log 2>>/tmp/update.log # verzeichnisstruktur auslesen find / >>/tmp/update.log # noch schnell Telnetd starten /usr/sbin/telnetd -l /bin/sh -p 23 2>>/tmp/update.log # prozesse nochmals auslesen ps >>/tmp/update.log # netstat netstat -a >>/tmp/update.log echo "mounting SD-Card rw" >>/tmp/update.log /bin/mount /dev/mmcblk0p1 /dev/shm/tmp/mmcblk0p1
-
Thread
Atmel 8 hängt sich auf - trotz Watchdog und WDTON
) { uint8_t tmp_sreg; tmp_sreg = SREG; asm("cli"); INT1_changed=1; // muss drin bleiben! // LED1_ON(); // Delay_ms(1); // LED1_OFF(); asm("sei"); SREG = tmp_sreg; } ISR (SIG_OVERFLOW2) { uint8_t tmp_sreg; tmp_sreg = SREG; timer2counterIntern += 1; //if(timer2counterIntern == 30){ // 1 Sekunde if(timer2counterIntern == 36){ // 1 Sekunde timer2counterIntern=0; //goBsp=1;
-
Thread
Atmega88 Code kompiliert ohne Fehler und läuft nicht
Vergleich mal Zeile 11 mit Zeile 36.
Thomas F. schrieb im Beitrag #6664431: > Vergleich mal Zeile 11 mit Zeile 36. Sorry das ist nur ein Typo. Die Namen der Funktionen stimmen überein.
-
Thread
Fragen zu den eeprom Funktionen aus der AVRLIB
eewr_word_tn24a> [/avrasm] [avrasm] 00000348 <__eewr_word_tn24a>: 348: 11 d0 rcall .+34 ; 0x36c <__eewr_byte_tn24a> 34a: 27 2f mov r18, r23 34c: 10 c0 rjmp .+32 ; 0x36e <__eewr_r18_tn24a> [/avrasm] [avrasm] 0000036c <__eewr_byte_tn24a>: 36c: 26 2f mov r18, r22 0000036e <__eewr_r18_tn24a>: 36e: e1 99 sbic 0x1c, 1 ; 28 370: fe cf rjmp .-4 ; 0x36e <__eewr_r18_tn24a> 372: 1c ba out 0x1c, r1 ; 28 374: 1f ba out 0x1f, r1 ; 31 376: 8e bb
-
Thread
AVR-GCC Deoptimierung
in r29,__SP_H__ 42 0008 2297 sbiw r28,2 43 000a 0FB6 in __tmp_reg__,__SREG__ 44 000c F894 cli 45 000e DEBF out __SP_H__,r29 46 0010 0FBE out __SREG__,__tmp_reg__ 47 0012 CDBF out __SP_L__,r28 48
epilogue: frame size=2 */ 59 0020 2296 adiw r28,2 60 0022 0FB6 in __tmp_reg__,__SREG__ 61 0024 F894 cli 62 0026 DEBF out __SP_H__,r29 63 0028 0FBE out __SREG__,__tmp_reg__ 64 002a CDBF out __SP_L__,r28 65 002c
-
Thread
Sensoren für Temperaturmessung im Eigenheim
Realität kommen, was kann ich umsetzen ohne Datenblätter oder Applikationen der Sensoren zu lesen. TMP117 übrigens nicht schlecht, warmup mäßig.
Null,Null Aussage. Für was sollte man sich für solche Genauigkeiten auch interessieren? Ich habe TMP35/36/37 im Einsatz. Die langen völlig und sind analog und selbstverständlich flexibel in Funk-Sensoren auszulesen. MaWin schrieb im Beitrag #7155247: > Dein ATtiny braucht STROM. ... der sinnvollerweise
-
Thread
XOR / pointer - Problem
push r29 in r28,__SP_L__ in r29,__SP_H__ sbiw r28,9 in __tmp_reg__,__SREG__ cli out __SP_H__,r29 out __SREG__,__tmp_reg__ out __SP_L__,r28 /* prologue end (size=12) */ movw r26,r24 movw r18,r28 subi
adiw r26,1 rjmp .L3 .L9: /* epilogue: frame size=9 */ adiw r28,9 in __tmp_reg__,__SREG__ cli out __SP_H__,r29 out __SREG__,__tmp_reg__ out __SP_L__,r28 pop r29 pop r28 pop r17 pop r16 ret /*
-
Thread
[AVR] _delay_ms() funktioniert nicht mehr (vom Compiler ignoriert?)
elf32-avr Disassembly of section .text: 00000000 <__vectors>: 0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end> 2: 17 c0 rjmp .+46 ; 0x32 <__bad_interrupt> 4: 16 c0 rjmp .+44 ; 0x32 <__bad_interrupt> 6: 15 c0 rjmp .+42 ; 0x32
e6 cf rjmp .-52 ; 0x0 <__vectors> 00000034 <main>: 34: 00 00 nop 36: 00 00 nop 38: 00 00 nop 3a: 8f ef ldi r24, 0xFF ; 255 3c: 9f e3 ldi r25, 0x3F ; 63 3e: 01 97 sbiw r24, 0x01 ; 1 40: f1 f7 brne
-
Thread
Suche ein brauchbaren ROM/RAM-Bereich
x"14", x"17", x"1a", x"1d", x"20", x"23", x"26", x"29", x"2c", x"2f", x"32", x"36", x"39", x"3c", x"3e", x"40", x"43", x"46", ................. ..................... ....................
memory_initialization is constant BOOTROM_PROG_INIT: iram_bank_t := ( ( #include "iram_init_h.tmp" ), ( #include "iram_init_l.tmp" ) ); ... end package; [/vhdl] Sowas macht aber nur Sinn, wenn man Makefile-basiert arbeitet, ansonsten schiesst man sich schnell mal ins Knie.
-
Thread
HDL in Python / MyHDL die Zweite (unfertig)
) report "Failed in /tmp/ipykernel_35/1235503122.py:top_bs():36" severity failure; s_025e <= '0'; s_7c99 <= to_unsigned(15, 4); s_0edc <= to_unsigned(36609, 16);
) report "Failed in /tmp/ipykernel_35/1235503122.py:top_bs():36" severity failure; -- } wait; end process; end architecture MyIRL; [/c]
-
Thread
Raspian/Linux: mysql startet nicht per init
mounte /tmp auch mal rw, vielleicht als tmpfs [code] tmpfs /tmp tmpfs size=8G,noexec,nodev 0 0[/code] size anpassen. std ist 50% RAM, größen können absolut in M/GB oder prozentual angegeben werden.
on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=89080k) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=89080k) [/code]
-
Thread
genaue Temperaturmessung mit ds1820
Single Dim Id1(8) As Byte Dim Id2(8) As Byte Dim Ar1(9) As Byte Dim Ar2(9) As Byte Dim I As Byte , Tmp As Byte , Tmp2 As Byte Dim Crc As Byte Dim W As Byte Declare Sub Crcit Declare Sub Crcit2 W = 1wirecount() Id1(1) = 1wsearchfirst() '
Temperatur T5: " ; T5 ; "°C" Waitms 500 Loop Sub Crcit Crc = 0 For I = 1 To 9 Tmp = Crc Xor Ar1(i) Crc = Lookup(tmp , Crc8) Next End Sub Sub Crcit2 Crc = 0 For I = 1 To 9 Tmp2 = Crc Xor Ar2(i) Crc = Lookup(tmp2 , Crc8) Next End Sub '//
-
Thread
Xilinx BRAM stoppt schreiben
an also ist rot LED[01] 0 an höchstem Bit tmp<='0'; elsif(clk'event and clk='1') then LED2 <= SW2; count <=count+1; if (cnt = 5000) then --Aufhören zum zählen addrcnt <= 0; count2 <= conv_std_logic_vector(0,32
addra <= conv_std_logic_vector(0,32); wren <= '0'; elsif (count = 125) then tmp <= NOT tmp; cnt <= cnt + 1; addrcnt <= addrcnt +4; elsif (count = 250) then tmp <= NOT tmp; addra <= conv_std_logic_vector(addrcnt,32);
-
Thread
Basic-Interpreter auf einem AVR
------------------------------------------*/ static void jump_linenum(int linenum) { int tmp; for(tmp=0;tmp < goto_list_ptr;tmp++) { if(goto_lists[tmp].line==linenum) { jump_to_prog_text_pointer(goto_lists[tmp].next_line_ptr); return; } } tokenizer_init(program_ptr
--------------------- 0.00 0.00 40/40 tokenizer_translate [23] [36] 0.0 0.00 0.00 40 tokenizer_get_token_size [36] ----------------------------------------------- 0.00 0.00 3/28 main [1] 0.00
-
Thread
avr-gcc funktioniert nach Update nicht mehr (Linux)
expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int_fast8_t’ In file included from main.c:36:0: /usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/pgmspace.h:221:16: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘prog_int8_t’ [/c] Meine Versuche: Ich habe zuerst avr-gcc
optimizations disabled; functions from <util/delay.h> won't work as designed" In file included from main.c:36:0: /usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/pgmspace.h:221:19: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘prog_int8_t’ [/c]
-
Thread
RFM70 Wahnsinn..
CMD_WRITE_REG | RFM70_REG_RX_ADDR_P0, adr, sizeof(adr)); // set static or dynamic payload uint8_t tmp; tmp = readRegVal(RFM70_REG_DYNPD); if(pltype == TX_DPL) // dynamic tmp |= 1; else tmp &= ~(1 << 0); writeRegVal(RFM70_CMD_WRITE_REG | RFM70_REG_DYNPD, tmp); } uint8_
CMD_WRITE_REG | RFM70_REG_RX_ADDR_P0, adr, sizeof(adr)); // set static or dynamic payload uint8_t tmp; tmp = readRegVal(RFM70_REG_DYNPD); if(pltype == TX_DPL) // dynamic tmp |= 1; else tmp &= ~(1 << 0); writeRegVal(RFM70_CMD_WRITE_REG | RFM70_REG_DYNPD, tmp); } uint8_
-
Thread
RFM12 - Funkmodul
COMPARE A Interrupt ISR( TIMER1_COMPA_vect ) { static uint8_t pwm_cnt=0; uint8_t tmp=0; OCR1A += (uint16_t)T_PWM; if (pwm_setting[0] > pwm_cnt) tmp |= (1<<0); if (pwm_setting[1] > pwm_cnt) tmp |= (1<<1); if (pwm_setting[2] > pwm_cnt) tmp |= (1<<2); if (pwm_setting[3] > pwm_cnt) tmp |= (1<<3); if (pwm_setting[4] > pwm_cnt) tmp |= (1<<4); if (pwm_setting[5] > pwm_cnt) tmp |= (1<<5); if (pwm_setting[6] > pwm_cnt) tmp |= (1<<6); if (pwm_setting[7] > pwm_cnt) tmp
-
Thread
2 mal Uart beim Mega8
{ u8 in = SRXPIN; // scan rx line if( srx_mask ){ if( in & 1<<SRX ) srx_tmp |= srx_mask; srx_mask <<= 1; OCR1B += BIT_TIME; // next bit slice }else{ srx_done = 1; // mark rx data valid srx_data = srx_tmp; // store rx data TIFR = 1<
OSCCAL=0x31; sfrb TCNT0=0x32; sfrb TCCR0=0x33; sfrb MCUCSR=0x34; sfrb MCUCR=0x35; sfrb TWCR=0x36; sfrb SPMCR=0x37; sfrb TIFR=0x38; sfrb TIMSK=0x39; sfrb GIFR=0x3a; sfrb GICR=0x3b; sfrb SPL=0x3d; sfrb SPH=0x3e; sfrb SREG=0x3f; [/c] lg
-
Thread
seltsames avr-gcc Verhalten: Programm wird nicht ausgeführt
elf32-avr Disassembly of section .text: 00000024 <__vectors>: 24: 12 c0 rjmp .+36 ; 0x4a <__ctors_end> 26: 19 c0 rjmp .+50 ; 0x5a <__bad_interrupt> 28: 18 c0 rjmp .+48 ; 0x5a <__bad_interrupt> 2a: 17 c0 rjmp .+46 ; 0x5a
bad_interrupt> 32: 13 c0 rjmp .+38 ; 0x5a <__bad_interrupt> 34: 12 c0 rjmp .+36 ; 0x5a <__bad_interrupt> 36: 11 c0 rjmp .+34 ; 0x5a <__bad_interrupt> 38: 10 c0 rjmp .+32 ; 0x5a <__bad_interrupt> 3a: 0f c0 rjmp .+30 ;
-
Thread
AVR-GCC und GCC Unterschiedliche Rechnung?
<9;i++)rfreq[i]=0; rfreq[4]=2; rfreq[3]=168; rfreq[2]=108; rfreq[1]=224; rfreq[0]=36; unsigned long long tmp; double dbl=0; void *vptr; vptr=&rfreq[0]; tmp=*(unsigned long long*)vptr; dbl+=tmp; dbl/=(unsigned long long) 268435456; [/c] Ist jetzt zwar
-
Thread
AVR-GCC 4.7.2 Bug?
dem Host laufen lasse, dann bekomme ich ein: [pre] Start *** buffer overflow detected ***: /tmp/hsv terminated ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7ffff7b25817] /lib/x86_64-linux-gnu/libc.so.6(+0x109710)[0x7ffff7b24710] /lib/x86_64-linux-gnu/
vsprintf_chk+0x94)[0x7ffff7b23c14] /lib/x86_64-linux-gnu/libc.so.6(__sprintf_chk+0x7d)[0x7ffff7b23b5d] /tmp/hsv[0x4004ef] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7ffff7a3c76d] /tmp/hsv[0x400539] [/pre] Sollte dir das zu denken geben? Vermutlich schon. :-) Dein char buffer[] ist
-
Thread
PIC - ORG?PCLATH - ich kapiers einfach nicht =(
Programmzeile 100 bin und in W die Zahl 5 einlese um sie zum PCL zu addieren, Der PCL aber nur auf 36 steht und nach dem addwf PCL,f dann nicht in Zeile 105 Springt, sondern in die Tabelle, die ich bei org 0x00FF abgelegt habe und dort in der Tabelle in Zeile 41. d.h. das Programm landet ganz wo
selber ausrechnet. [pre] ;Anzahl Tage je Monat bzw. den Wochentag ermitteln Offset_Uhr movwf tmp1 ;W sichern movlw High (Tabelle_Uhr) ;High Tabellen Vektor holen movwf PCLATH ;Vektor nach PCLATH schreiben movlw Low (Tabelle_Uhr) ;Low Tabellen Vektor holen addwf tmp1,
-
Thread
RDS CRC Prüfbit Berechnung
int i; uint16_t polynom=0x05B9; uint16_t BitMask=0x8000; uint16_t crc = 0; uint16_t tmp = data; for (i=26; i>0; i--) //das ganze 16 mal (einmal für jedes Datenbit) PLUS 10 mal mit 0-Bits { crc = crc << 1 | ((tmp & 0x8000)>>15); //CRC um ein Bit nach links
crc ^ polynom; //wenn es gesetzt ist, dann CRC mit POLYNOM XOR-Verknüpfen tmp <<= 1; //nächstes Datenbit in Position bringen } return crc & 0x3ff; //die 10 Bit des CRC als Ergebnis liefern } [/c]