-
Thread
Problem mit TMP36
MoinMoin, ich verwende für eine Temperaturmessung einen TMP36 an einem ADC-Eingang eines ATMega8. Als Referenz wird AVcc verwendet, wobei ich vor jeder Messung auch Vcc via BandGap ermittle und im Endergebnis berücksichtige. Die gewonnen Messergebnisse der
Der TMP36 braucht eine stabile Versorgungsspannung. Ein Abblockkondensator von 0,1 - 1µF direkt an den Anschlüssen kann da Wunder wirken. Notfalls noch einen kleinen Widerstand davor.
-
Thread
TMP36 spannungsabhängig?
Moin, ist das Messergebnis eines TMP36 von der Versorgungsspannung abhängig? Hintergrund: Ich habe den TMP36 an einen ADS1115 angeschlossen. Als ich die Schaltung mit ca 3.2V versorgte stimmte der ermittelte Temperaturwert ungefähr
ermittle ich einen um ca. 2°C höheren Temperaturwert, im Vergleich zu den anderen Sensoren, mit dem TMP36. ...siehe auch Bild, die hellblaue Kurve ist der TMP36... Grüße & Danke Uwe
-
Thread
Temperatursensor TMP36 Problem
zw. 5V und GND): https://learn.adafruit.com/system/assets/assets/000/000/476/medium800/temperature_tmp36fritz.gif?1447975816
Das hier müsste doch aber stimmen, habe ich auch von dieser Seite: https://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor
-
Thread
TMP36GZ oder TMP36G9 für Raspberry Pi
meinem Buch zum Raspberry Pi habe ich eine Anleitung wie man die Temperatur auslesen kann (mit einem TMP36 und einem MCP2008) Im Buch wird darauf hingewiesen das man den TMP36GZ braucht. Diesen finde ich aber nicht. Ich wollte fragen ob ich auch den TMP36GT9 nehmen kann? lgf
florian schrieb im Beitrag #3493626: > Ich wollte fragen ob ich auch den TMP36GT9 nehmen kann? Siehe Datenblatt, Seite 19
-
Thread
Fernbedien RC5 Empfänger
Die Trägerfrequenz beträgt 36kHz.
if( !(tmp & 0x4000) ) tmp <<= 1; if( !(rc5_bit & 1<<xRC5) ) tmp |= 1; rc5_time = 0; } } rc5_tmp = tmp; }
-
Thread
Störungen bei temperaturmessung minimieren
/media/en/technical-documentation/data-sheets/TMP35_36_37.pdf auf Seite15.
Mit einem ntc habe ich wieder das störungsanfällige analoge Signal wie beim TMP36.
-
Thread
Pollin MOTOROLA VIP1710
135 0 5848 S < /usr/bin/halserver -l /tmp/hlog_ugGEOr -s /tmp/hal_cQ5Lvn 136 0 5848 S < /usr/bin/halserver -l /tmp/hlog_ugGEOr -s /tmp/hal_cQ5Lvn 137 0 5848 S < /usr/bin/halserver -l /tmp/hlog_ugGEOr -s /tmp/hal_cQ5Lvn 138 0 5848 S < /usr/bin/halserver -l /tmp/hlog_ugGEOr -s /tmp/hal_cQ5Lvn 139 0 5848 S < /usr/bin/halserver -l /tmp/hlog_ugGEOr -s /tmp/hal_cQ5Lvn 140 0 5848 S < /usr/bin/halserver -l /tmp/hlog_ugGEOr -s /tmp/hal_cQ5Lvn
-
Thread
Spannung gegen Vref messen, ohne Spannungsteiler Verständnisproblem
Jetzt klappt es, ich kann aber nur Assembler liefern: ldi tmp0,(0<<REFS1)+(1<<REFS0)+$1E sts ADMUX,tmp0 ldi tmp0,(1<<ADEN) sts ADCSRA,tmp0 rcall wait50ms ldi tmp0,(1<<ADEN)+(1<<ADSC)+(1<<ADPS2)+(1<<ADPS1)+(1<ADPS0) ; /128 sts ADCSRA,tmp0 lds tmp0,ADCSRA sbrc tmp0,ADSC rjmp pc-3 lds tmp0,ADCL lds tmp1,ADCH
-
Thread
KiCad 9.0.3: Meldung eines Zugriffsfehlers beim Speichern von Dateien
erzeugte Projektdateien) mehr speichern. Es erscheinen jedes mal die folgenden Fehlermeldungen: 13:36:57: Konnte die Datei „C:\Users\Roland\AppData\Local\Temp\ees39BE.tmp“ nicht nach „E:Dokumente\Elektronik\Projekte\...\DTMF_Generator_V02.kicad_sch“ kopieren (Fehler 5: Zugriff verweigert) 13:36:57
“ kopieren (Fehler 5: Zugriff verweigert) 13:36:57: Die Datei „C:\Users\Roland\AppData\Local\Temp\ees39BE.tmp“ konnte nicht nach „E:\Dokumente\Elektronik\Projekte\FritzBox_Tuerklingel\Hardware\FB_Doorbell_Hardware\FB_Doorbell\DTMF_Generator_V02.kicad_sch
-
Thread
Layout - Eagle-Künstler gesucht ;-)
================================ /SHUTDOWN des TMP36S darf natürlich nicht an MISO (/nSEL des RFM02) sondern muß an MOSI (SDI des RFM02)... Sonst wäre ja immer entweder der RFM oder der TMP selektiert (Stromverbrauch). ==========================
Hallo, John-eric K. wrote: > ================================ > /SHUTDOWN des TMP36S darf natürlich nicht an MISO (/nSEL des RFM02) > sondern muß an MOSI (SDI des RFM02)... > Sonst wäre ja immer entweder der RFM oder der TMP selektiert > (Stromverbrauch). > ==================
-
Thread
Bugs bei 98% Data und 60% Programm
}; struct menueP m1, m2, m3, m4, m5, m11, m12, m13, m21, m22, m23, m31, m32, m33, m34, m35, m36, m41, m42, m51m, m52; [/c] erstellt. Die Menüpunkte werden zur Laufzeit erstellt (also de Werte zugewiesen). [c] // Neuen Menüpunkt anlegen void new_menueP(char *name, struct menueP* tmp, void
(keybrd & BTN_MENUE) ) tmp = tmp -> parent; // nach oben if( (keybrd & BTN_ENTER) && !function ) tmp = tmp -> child; // nach unten if( (keybrd & BTN_UP) ) tmp = tmp -> prev; // zurück
-
Thread
TMP05 Temperatursensor ohne µC auslesen
cycle Messung und labview. Ein /anderer/ Sensor käme nicht infrage? Ich nehm gerne den LM35 und TMP35/36/37 mit analoger Ausgangsspannung.
Messung und labview. > > Ein /anderer/ Sensor käme nicht infrage? > Ich nehm gerne den LM35 und TMP35/36/37 mit analoger Ausgangsspannung. Leider nein. Die Baugruppe, die geprüft werden muss, hat ein tmp05. Der Sensor ist also fest vorgegeben. Wie gesagt, ideal wäre ein fertiges Messgerät das
-
Thread
RC5 Decoder von P. Danegger
// bit received tmp_cnt++; tmp >>= 1; if (irrc_time > NECP_ZERO) tmp |= 0x80000000; if (tmp_cnt == 32) { nec_data = tmp; tmp_cnt = 0; } } irrc_time = 0; } } bit_cnt = tmp_cnt; irrc_tmp = tmp; } [/c]
-
Thread
STM32f4 performance
push {r4, r5} 34 .LCFI0: 35 .cfi_def_cfa_offset 8 36 .cfi_offset 5, -4 37 .cfi_offset 4, -8 37:src/main.c **** float tmp1, tmp2; 38:src/main.c **** float num_real, num_img; 39:src/main.c **** float
fmsr s14, r2 @ int 36:src/main.c **** { 44 .loc 1 36 0 45 000e 01EE904A fmsr s3, r4 @ int 47:src/main.c **** fofs_y = (float)offset_y; 46 .loc 1 47 0 47 0012
-
Thread
Temperatursensor- Supply Voltage
Hallo, Es geht um folgenden Temperatur sensor: TMP35 https://www.analog.com/media/en/technical-documentation/data-sheets/TMP35_36_37.pdf Figure 6 stellt die Ausgangsspannung der Transistorschaltungen in Abhängigkeit der Temperatur bei Vs=3V dar.
All three devices are intended for single-supply operation from 2.7 V to 5.5 V maximum. The TMP35 is functionally compatible with the LM35/LM45 and provides a 250 mV output at 25°C. The TMP35 reads temperatures from 10°C to 125°C. [...] Both the TMP35 and TMP36 have an output scale factor of
-
Thread
LCD-Ansteuerung funktioniert nicht
char data) { //Aktuelles RS ermitteln char rs=PORTD; rs&=4; //High-Teil senden char tmp=data; tmp&=0xf0; tmp|=rs; PORTD=tmp; //Schreibsignal sbi(PORTD,3); cbi(PORTD,3); //Low-Teil senden tmp=data; tmp&=0x0f; tmp*=16; tmp|=rs; PORTD=tmp; //Schreibsignal
int col) { row--; row&=0x01; row*=40; col--; col&=0x0f; char tmp=row|col; tmp|=0x80; lcd_cmd(tmp); } //Backlight Funktion bool lcd_dimmer_is_init=false; void lcd_light(bool on_off) { //wenn dimmer an, dann PWM deinit if (lcd_dimmer_is_init)
-
Thread
Thermomix Rezeptchips
(std::string&) : mount -o ro /tmp/dev/loop1 /tmp/sr1 NETLINK-ERROR: 0h8m14s93ms: System command mount -o ro /tmp/dev/loop1 /tmp/sr1 returned 255 NETLINK-INFO: 0h8m14s126ms: Storage partition found at /tmp/sr1/ (S/N: 1495000495750001
(std::string&) : mount -o ro /tmp/dev/loop1 /tmp/sr1 NETLINK-ERROR: 0h8m14s93ms: System command mount -o ro /tmp/dev/loop1 /tmp/sr1 returned 255 NETLINK-INFO: 0h8m14s126ms: Storage partition found at /tmp/sr1/ (S/N: REDACTED
-
Thread
Bug in WinAVR oder liegts an mir?
[code] 00000034 <testmich2>: } zeit_t; void testmich2 (zeit_t tmp) { //GPIOR2 = tmp.x.sekunden; GPIOR2++; 34: 85 b3 in r24, 0x15 ; 21 36: 8f 5f subi r24, 0xFF ; 255 38: 85 bb out 0x15, r24 ; 21 } 3a: 08 95
Minuten vertauscht: [code] 00000034 <testmich2>: } zeit_t; void testmich2 (zeit_t tmp) { //GPIOR2 = tmp.x.sekunden; GPIOR2++; 34: 85 b3 in r24, 0x15 ; 21 36: 8f 5f subi r24, 0xFF ; 255 38: 85 bb out 0x15, r24 ; 21 } 3a: 08 95
-
Thread
C jedes zweite Bit verwerfen
hier ist Standard-C, das kann jeder Compiler. [c] uint8_t squeeze(uint8_t data) { uint8_t tmp=0; if (data & (1<<7)) tmp |= (1<<3); if (data & (1<<5)) tmp |= (1<<2); if (data & (1<<3)) tmp |= (1<<1); if (data & (1<<1)) tmp |= (1<<0); return tmp; } uint8_t bindata[8]
CD EF GH // 0 18 36 54 tmp *= 0x40001000040001; // 0x40001000040001 = 1<<0 | 1<<18 | 1<<36 | 1<<54 return tmp >> 56; } int main(int argc, const char* argv[]) { //
-
Thread
AD9850-Modul mit AtMega steuern
stdlib.h> #include <stdint.h> int main(void) { const uint64_t frequency = 4000000; uint64_t tmp1 = frequency; tmp1 <<= 32; tmp1 /= 125; // 125 MHz tmp1 /= 1000000; uint32_t sollResultat = (uint32_t) tmp1; uint32_t tmp = frequency; // Faktor: 34.359'738'368 tmp = frequency * 35; //35 tmp -= frequency / 10 * 6; //34.4 tmp -= frequency / 100 * 4; //34.36 tmp -= frequency / 10000 * 2; //34.359'8 tmp -= frequency / 100000 * 6; //34.359'74 tmp -= frequency / 1000000 * 2; //34.359'738
-
Thread
Gy-521 mit MSP430G3 (version 1.5) Launchpad
Es kommen immer die selben Messwerte, AcX = Acy = AcZ = GyX = GyY = GyZ = 0; Tmp = 36.
Martin schrieb im Beitrag #4514141: > Tmp = 36. Du meinst 36.53? Daraus folgt, das aus dem MPU6050 alle Register als 0 gelesen werden.
-
Thread
PIC16 Anweisungen wegoptimiert
Ansonten, eventuell eine ASM Funktion: swapf zeichen,W xorwf zeichen,W andlw 0xf0 movwf tmp rlf tmp,w rlf tmp btfsc tmp,7 incf tmp btfsc tmp,6 incf tmp btfsc tmp, incf tmp bcf TX2STAbits,TX9D btfsc tmp,0 bsf TX2STAbits,TX9D
sa geht doch wohl auch mit C schneller [c] uint8_t bit9 = 0; uint8_t tmp = zeichen; for( uint8_t bit = 0; bit < 7; ++bit ) { bit9 = bit9 ^ (zeichen & 1); zeichen = zeichen >> 1; } TX2STAbits.TX9D = bit9; TX2REG = zeichen; [/C]
-
Thread
48Bit BCD Code in Binärcode wandeln
nichts, was nicht noch besser ginge... ;-) Die Multiplikation in dieser Zeile: [vhdl] tmp <= resize(tmp*10 + unsigned(BCD(idx*4-1 downto idx*4-4)),tmp'length); [/vhdl] Kann durch eine zusätzliche Addition ersetzt werden: [vhdl] tmp <= resize(tmp*8 + tmp*2 + unsigned(BCD(idx*
nichts, was nicht noch besser ginge... ;-) > Die Multiplikation in dieser Zeile: > [vhdl] > tmp <= resize(tmp*10 + unsigned(BCD(idx*4-1 downto > idx*4-4)),tmp'length); > [/vhdl] > Kann durch eine zusätzliche Addition ersetzt werden: > [vhdl] > tmp <= resize(tmp*8 + tmp*2 + unsigned
-
Thread
c# Lade- Entladeprogramm für Akkus
i] + j; tmp[j] = fifo[(fifo_wr[i] + j)%256]; } int crc = sub_crc_byte(tmp, len + 3); if ((crc & 255) == tmp
{ for (int j = 0; j < tmp.Length; j++) { //listBox4.Items.Add(j.ToString() + "__" + tmp[j].ToString());
-
Thread
Verbesserungsvorschläge gesucht
if writeTmp = '1' then tmp <= di; else data <= tmp & di; end if; end if; -- synchronous 8-bit read with read enable if (re = '1') then if
Varianten (RTL-Ansicht liegt auch bei): [pre] Altera: A B C D E LE: 35 36 36 36 36 CF: 11 12 12 28 28 LR: 34 34 34 34 34 TR: 34 34 34 34 34 Xilinx: A B C D E SFF: 34 35 35 34 34 LUT:
-
Thread
Alseits beliebt GCC plugin error
+0x22): first defined here /var/tmp//ccGRtpGb.o: In function `i2c_start_cond': i2c_master.c:(.text+0x30): multiple definition of `i2c_start_cond' /var/tmp//cctLNEHp.o:main.c:(.text+0x30): first defined here /var/tmp//ccGRtpGb.o: In
+0x44): first defined here /var/tmp//ccGRtpGb.o: In function `i2c_stop': i2c_master.c:(.text+0x50): multiple definition of `i2c_stop' /var/tmp//cctLNEHp.o:main.c:(.text+0x50): first defined here /var/tmp//ccGRtpGb.o: In function `i2c_send
-
Thread
Flash CRC Berechnung optimieren/schneller
%1" "\n\t" "ror __tmp_reg__" "\n\t" "ror %1" "\n\t" "mov %B0,__tmp_reg__" "\n\t" "eor %A0,%1" "\n\t" "lsr __tmp_reg__" "\n\t" "ror %1" "\n\t" "eor %B0,__tmp_reg__" "\n\t" "eor %A0,%1"
%1" "\n\t" "ror __tmp_reg__" "\n\t" "ror %1" "\n\t" "mov %B0,__tmp_reg__" "\n\t" "eor %A0,%1" "\n\t" "lsr __tmp_reg__" "\n\t" "ror %1" "\n\t" "eor %B0,__tmp_reg__" "\n\t" "eor %A0,%1"
-
Thread
Alles Rund um den MEDION LIFE P89626 NAS
mnt/other/xtra-tmp/Medion-NAS/reload/reloaded-oxnas/proc-v6.o CC [M] /mnt/other/xtra-tmp/Medion-NAS/reload/reloaded-oxnas/arm-mmu.o LD [M] /mnt/other/xtra-tmp/Medion-NAS/reload/reloaded-oxnas/reloaded.o Building
" [/mnt/other/xtra-tmp/Medion-NAS/reload/reloaded-oxnas/reloaded.ko] undefined! WARNING: "sys_open" [/mnt/other/xtra-tmp/Medion-NAS/reload/reloaded-oxnas/reloaded.ko] undefined! WARNING: "v6_cache_fns" [/mnt/other/xtra-tmp
-
Thread
DTMF decoder
+t0; } int16_t GoertzelFilter(int16_t* DataArr, int16_t DataCnt, uint16_t Coeff) { int32_t tmp; int32_t v1 = 0; int32_t v2 = 0; for(uint8_t i=0; i<DataCnt; i++) { tmp = MulAndDiv65536(v1<<1, Coeff) - v2 + DataArr[i]; v2 = v1; v1 = tmp; } v1 >>= 9; // Überlauf verhindern für -511<=DataArr[i]<=+511) v2 >>= 9; // Überlauf verhindern für -511<=DataArr[i]<=+511) tmp = MulAndDiv65536(v1<<1, Coeff); tmp = tmp*v2; tmp = v1*v1+v2*v2-tmp; return tmp; } int main() { // // Koeffizienten für DTMF-Frequenzen bei 8000Hz Sample-Frequenz // // -
-
Thread
inline ASM 64Bit Shift
"ror __tmp_reg__" "\n\t" "sts %0 + 6, __tmp_reg__" "\n\t" "lds __tmp_reg__, %0 + 5" "\n\t" "ror __tmp_reg__" "\n\t"
"ror __tmp_reg__" "\n\t" "sts %0 + 2, __tmp_reg__" "\n\t" "lds __tmp_reg__, %0 + 1" "\n\t" "ror __tmp_reg__" "\n\t"
-
Thread
Double gegen Integer
1000; [/c] Die Rechnung ist eine Parallelschaltung mit vielen Iterationen: [c] tmp_result = ( int_lut[j] * int_lut[i] ) / ( int_lut[j] + int_lut[i] ); tmp_result -= intTargetR; if( abs( tmp_result ) < (abs( best4R ) ) [/c] Die 220mS double Version sieht so aus [c] tmp_result = ( comb_lut[j].e_value * comb_lut[i].e_value ) / ( comb_lut[j].e_value + comb_lut[i].e_value ); tmp_result -= TargetR; if( abs
-
Thread
Frage zum SoftPWM-Artikel
mit aktueller Sortiertstelle tmp_set = pwm_setting_tmp[k]; pwm_setting_tmp[k] = pwm_setting_tmp[i]; pwm_setting_tmp[i] = tmp_set; tmp_mask = main_ptr_mask[k]; main_ptr_mask[k] = main_ptr_mask[i];
=1; } else { i = k; main_ptr_time[i] = (uint16_t)T_PWM*(PWM_STEPS - pwm_setting_tmp[i]); tmp_set = pwm_setting_tmp[i]; i--; for (; i>0; i--) { main_ptr_time[i] = (uint16_t)T_PWM*(tmp_set - pwm_setting_tmp[i]); tmp_set = pwm_setting_tmp[i];
-
Thread
DS18B20 vs NTC
/TMP35_36_37.pdf https://www.ebay.de/itm/381374562434?hash=item58cbb20082:g:5XYAAOSwcwhVKm5O
Toxic schrieb im Beitrag #6675944: > Warum nicht auch ein TMP36 oder LM36? Nee, dass ist hier nicht vorgesehen. https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4008.pdf Aber danke für den Tip. Ist gespeichert.
-
Thread
ATmega8 untere Dimmstufen zu groß
(1); } void pwm_up_down (const uint16_t pwm_table[], int16_t size, uint16_t delay) { int16_t tmp; for (tmp = 0; tmp < size; tmp++) { OCR1A = pgm_read_word (& pwm_table[tmp]); my_delay (delay); } for (tmp = size-1; tmp >= 0; tmp--) { OCR1A = pgm_read_word (& pwm_table[tmp]); my_delay (delay); } } void pwm_16_256 (uint16_t delay) { // 16 Bit Fast PWM TCCR1A = 0x82 | INVERT_PWM; // stop timer TCCR1B = 0; // TOP for PWM, full 16 Bit ICR1 = 0xFFFF
-
Thread
SED1520: Lesen vom Display
{ SED1520_CONTROL_PORT |= SED1520_E1; asm("nop");asm("nop"); asm("nop"); tmp = SED1520_DATA_PIN; SED1520_CONTROL_PORT &= ~SED1520_E1; } else { SED1520_CONTROL_PORT |= SED1520_E2; asm("nop");asm("nop"); asm("nop"); tmp = SED1520_DATA_PIN
nachvollzogen und nicht selbst etwas alleiniger Hilfe vom Datenblatt geschrieben. Bezogen auf Seite 36 vom Datenblatt (danke spess53) habe ich versucht eine Funktion zu erstellen: [c] unsigned char GLCD_ReadData(void) { unsigned char tmp; GLCD_WaitForStatus(0x80, 0); GLCD_WaitForStatus(0x80
-
Thread
C programmieren wie die grossen Jungs
um einfach die Zwischenergebnisse ohne sinnvollen Namen festzuhalten. Dann mache ich eher int tmp; if() { tmp=... } ... if() { tmp=... } statt if() { int tmp; tmp=... } ... if() { int tmp; tmp=... } was man dann aber nicht unbeding machen sollte ist shadowing ala int
) *P++ = 0; 4a: 11 92 st Z+, r1 4c: 80 e0 ldi r24, 0x00 ; 0 4e: ea 36 cpi r30, 0x6A ; 106 50: f8 07 cpc r31, r24 52: d9 f7 brne .-10 ; 0x4a <main+0x4> [/C] identischer Code zum Fall [C] int main() { for( unsigned char
-
Thread
avr (atmega8) 32bit increment
implementiert): [avrasm] .include "m8def.inc" .def itmp = r24 .def itmp1 = r25 .dseg count36kHz: .byte 1 ;unsigned int timebase: .byte 4 ;unsigned long, system time in ms .cseg .org 0x000 rjmp reset reset: clr tmp sts count36kHz, tmp sts timebase, tmp sts
for 36kHz period */ lds itmp, count36kHz inc itmp sts count36kHz, itmp ;increment the interrupt counter brbc 1, main_end ;skip if not zero lds itmp, timebase lds itmp1, timebase
-
Thread
Frage zur C Syntax
// select ftw function #if (sel==0) uint32_t ftw_fix_1 (uint32_t freq) { uint64_t tmp; tmp = freq * ACCU_SIZE / F_DDS; return tmp; } #endif #if (sel==1) uint32_t ftw_fix_2 (uint32_t freq) { uint64_t tmp; // tmp = freq * ACCU_SIZE * 2^25 / F_DDS / 2^25; // ACCU_SIZE / F_DDS = 107,3741824 // ACCU_SIZE * 2^25 / F_DDS = 3602879702 tmp = freq * 3602879702ULL; tmp >>= 25; return tmp; } #endif #if (sel==2) uint32_t ftw_float_1 (uint32_t freq) { float tmp; tmp = (float)freq * ACCU_SIZE / F_DDS; return tmp;
-
Thread
FAT16 Sektoren im Cluster Reihenfolge der Belegung
In einem Cluster sind mit Sicherheit NIE 36 Sektoren enthalten. Das sind /immer/ glatte Zweierpotenzen. Dein Algorithmus zur Clustergrößenberechnung scheint daher fehlerhaft zu sein, und damit auch die Bestimmung der zu einem Cluster gehörenden
&& Buffer[511] == 0xAA) { FAT_DEBUG("\r\nMBR Signatur found!\r\n"); tmp_size_sek = Buffer[458] + (Buffer[458] << 8); FAT_DEBUG("Part 1 groessee : %d \n", tmp_size_sek ); } else { FAT_DEBUG("\r\nMBR Signatur not found!\r\n"); while(1);
-
Thread
Inline Assembler- Bits spiegeln
etwa das raus: ;->R16: zu spiegelndes Byte ;<-R16: gespiegeltes Byte MirrorBits: push tmp ; 2 bst R16,0 ; 1 bld tmp,7 ; 1 bst R16,1 ; 1 bld tmp,6 ; 1 bst R16,2 ; 1 bld tmp,5 ; 1 bst R16,3 ; 1 bld tmp,4 ; 1 bst R16,4 ; 1 bld tmp,3 ; 1 bst R16,5 ; 1 bld tmp,2 ; 1 bst R16,6 ; 1 bld tmp,1 ; 1 bst R16,7 ; 1 bld tmp,0 ; 1 mov R16,tmp ; 1 pop tmp ; 2 ret ; 4
-
Thread
Datentypen Problem
Hi, bin immer noch etwas verwirrt sprintf(tmp,"%d",wahl); // Int in Char arry tmp[3] schreiben printf("tmp: %s\n",tmp); // tmp ausgeben --> ergebnis wie im -
mal ausprobiert: (ich kenne micht mit sprintf nicht aus, würde aber sowas ausprobieren). sprintf(tmp,"%d",uhr.date); printf("tmp: %s\n",tmp); 18 (hex) = 24 (dezimal) nur so am Rande... Zahlen < 32 (dezimal) sind im ASCII Steuerzeichen, die für Menschen eher schlecht lesbar sind... http://
-
Thread
Assembler (AVR) Freaks bitte: der schnellste Weg, einen ganzzahligen Wert zu skalieren? Gesperrt
-1) ; , ldi r23,0 ; call __divmodhi4 ; ../../include/units/percent.h:36: mValue = rhs.mValue; sts z,r22 ; z.mValue, tmp56 .L9: rjmp .L9 ; .size main, .-main [/c]
sub r30,r22 ; , min sbc r31,r31 ; ldi r21,lo8(100) ; tmp60, mul r21,r30 ; tmp60, tmp58 movw r24,r0 ; tmp59 mul r21,r31 ; tmp60, tmp58 add r25,r0 ; tmp59 clr __zero_reg__ sub r20
-
Thread
Library für EA-DOGM Grafikdisplays inkl. Font-Generator
*/ inline PGM_P font_widthtable(FONT_P font) { PGM_P tmp; tmp = ((font->widthtable)); return tmp; } [/code]
Loads the pointer to the selected fonts data */ inline PGM_P font_data(FONT_P font) { PGM_P tmp; if (sizeof(tmp) == 2) tmp = (PGM_P)pgm_read_word(&(font->data)); else memcpy_P((char*)&tmp,&(font->data),sizeof(tmp)); return tmp; } [/code] Wieso wird hier auf "sizeof(tmp
-
Thread
VENTUS W177 Funkprotokoll Datenprotokoll Protokoll Wetterstation gesucht
i=0; while(tmp[start_frame[3]+i]>60){ i++; } start_frame[3]+=i; start_frame[4]=start_frame[3]+37; i=0; while(tmp[start_frame[4]+i]>60){ i++; } start_frame[4]+=i; start_frame[5]=start_frame[
lcd_int4(start_frame[3]); start=start_frame[1]; lcd_goto(1,1); for(i=0;i<8;i++) { lcd_int(tmp[start+i]/30); id0+=(tmp[start+i]/30)<<(7-i); } lcd_int4(id0); start=start_frame[2]; lcd_goto(2,1); for(i=0;i<8;i++) { lcd_int(tmp[start+i]/30); id1+=(tmp[start
-
Thread
LED Fading Atmega32
clear clk setting TCCR1B |= 4; // precaler 256 -> ~122 Hz PWM frequency for(tmp=0; tmp<=3; tmp++){ OCR1A = pgm_read_word(pwmtable_8A+tmp); my_delay(delay); } for(tmp=3; tmp>=0; tmp--){ OCR1A = pgm_read_word(pwmtable_8A+tmp); my_delay(delay
clear clk setting TCCR1B |= 4; // precaler 256 -> ~122 Hz PWM frequency for(tmp=0; tmp<=7; tmp++){ OCR1A = pgm_read_word(pwmtable_8B+tmp); my_delay(delay); }; for(tmp=7; tmp>=0; tmp--){ OCR1A = pgm_read_word(pwmtable_8B+tmp); my_delay(delay
-
Thread
GCC: Sehr langes C-Programm für Zielsystem PC
ist etwas größer: chef@localhost /tmp/xyz $ ls -lah gcd.o -rw-r--r-- 1 chef chef 13M Jun 29 01:27 gcd.o Dafür spuckt der Linker ein paar Fehler aus: chef@localhost /tmp/xyz $ gcc -o gcd gcd.o 2>&1 gcd.o: In function `main': gcd.c
/tmp $ date && ./gcd && date Fri Jun 29 20:45:38 CEST 2007 3.456838e+02 Fri Jun 29 20:45:38 CEST 2007 chef@localhost /tmp $
-
Thread
Inline Assembler nach C
Assembler defines \n" + " .EQU UCSR0B,0xC1 ;Assembler defines \n" + " .EQU TMP_REG0,0x1E ;Assembler defines \n" + " .EQU TMP_REG1,0x2A ;Assembler defines \n" + " .EQU TMP_REG2,0x2B ;Assembler defines \n" + " .EQU TMP_REG3,0x28
***/ \n" + " END_RX_IRQ: \n" + " IN R31,TMP_REG3 ;62 Restore R31 \n" + " OUT __SREG__,R31 ;63 Restore SREG \n" + " IN R31,TMP_REG2 ;64 Restore R31 \n" + " IN R30,TMP_REG1 ;65
-
Thread
Mit Hochlastwiderstand Wasser heizen
Ich möchte mit meinem Arduino und einem Hochlast Widerstand (0.005 Ohm, 5W) 100-500ml Wasser auf 36° heizen und die Temperatur konstant halten (mit TMP36 Sensor). Als ich den Widerstand an 3x AA Batterien hielt, verbrannte ich mich direkt :-O Meine Frage ist: Ich kann doch den Widerstand direkt
Ich möchte mit meinem Arduino und einem Hochlast Widerstand (0.005 Ohm, > 5W) 100-500ml Wasser auf 36° heizen und die Temperatur konstant halten > (mit TMP36 Sensor). Es gibt in Haushaltswarengeschäften massenhaft Geräte, die "Mit Hochlastwiderstand Wasser heizen". Vielleicht solltest Du besser
-
Thread
Tekway/Hantek/Voltcraft MSO
vergessen wie der firmare update script gebaut werden muss ... Diese zeile solte so aussehen: [cmd] mv /tmp/tekwayup_client/dso.exe /dso_update.exe [cmd] mv /tmp/tekwayup_client/dsod /dso/app/dsod watchdog (soweit ok) [cmd] rm /help.db [cmd] mv /tmp/tekwayup_client/help.db / neue hilfe datei
Frage: hat jemmand mittlerweile die von mir ungetesteten bugs 9,30,36,45,46,48,49 getestet?
-
Thread
SmuView - Eine sigrok GUI für Netzteil, Multimeter und mehr
Building CXX object CMakeFiles/smuview.dir/src/devicemanager.cpp.o In file included from /home/majo/tmp/smuview-master/src/devices/basedevice.hpp:34, from /home/majo/tmp/smuview-master/src/devicemanager.cpp:38: /home/majo/tmp/smuview-master/src/devices/deviceutil.hpp:492:23: error:
Couldn't open Modbus device. sr: [01:12.128166] hwdriver: Scan found 0 devices (rdtech-dps). sr: [01:36.293910] hwdriver: sr_config_list(): key 2147418112 (NULL) sdi (nil) cg NULL -> [uint32 20000, 20001] sr: [01:36.293974] serial: Opening serial port '' (flags 1). sr: [01:36.293992] serial: Attempt