-
Thread
AVR Assembler, Macro, Conditional mit Register
, 18c, 36b ; outi56 @0 Ziel, @1 Data56, 21c, 42b ; outi64 @0 Ziel, @1 Data64, 24c, 48b ; ;========================================================================= ;=== REG <- IO-RAM ===============
@0 r0-r26, @1 IO-RAM48, 6-12c, 12-24b ; in56 @0 r0-r25, @1 IO-RAM56, 7-14c, 14-28b ; in64 @0 r0-r24, @1 IO-RAM64, 8-16c, 16-32b ; ;========================================================================= ;=== IO-RAM <
-
Thread
Faktensammlung Buderus EMS
Telegramme. Hier sind meine beiden Telgramme: [code]Telegramm 0x18: 08 00 18 00 | 3f 02 22 64 3b 09 01 25 60 80 00 02 6f 01 e9 00 27 0c 2d 48 00 c8 ff 02 00 be DatenOffset: -4 -3 -2 -1 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 TelegrammOffset: 1
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 Daten: 10 00 06 00 13 05 16 1e 19 10 03 01 0c 00 10 00 ed - CRC-Fehler UBAMonitorFast ( 08 00 18 00) 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Daten: 08 00 18 00 0b 02 ce 64 00 00
-
Thread
Diverse fragen zu Hash Maps in C
15 28 0.30 6 22 1024 17 CRC32_SW 24 31 0.41 6 30 1024 18 CRC32C_HW64 15 24 0.34 6 25 1024 19 CRC32C_HW64_B 18
6 22 1024 17 CRC32_SW 24 31 0.41 6 30 1024 18 CRC32C_HW64 15 23 0.34 6 25 1024 19 CRC32C_HW64_B 18
-
Thread
Bausatz - Xilinx USB Platform JTAG Kabel
Driver version: src=1029, dest=1029. Driver windrvr6.sys version = 8.1.1.0. WinDriver v8.11 Jungo (c) 1997 - 2007 Build Date: Feb 28 2007 x86_64 64bit SYS 09:48:01, version = 811. Cable PID = 0008. Max current requested during enumeration is 74 mA. Type = 0x0004. Cable Type = 3, Revision = 0.
Hello Thanks for your work, is it possible to replace the cpld with XC2C64A-7VQ100C or other pin compatible ones?
-
Thread
AVR Synthesizer mit ATxmega128A1
Funktion, die Word mit Byte Multipliziert hat, und als Ergebnis kam Word raus (die untersten 8Bit des 24Bit Ergebnisses werden ignoriert) Ich habe auch mit einem Filter experimentiert, der so auschaute: [code] v0 = R*C*v0 + C*in - C*v1; v1 = R*C*v1 + C*v0; output = v1; C = Cutoff (0..255) R
source += increment; uint16_t x0 = i; uint8_t y0 = 94; // middle position of screen if (sample > 64) { y0 = 94-(sample – 64); sample = sample – 64;} else {y0 = 94; sample = 64 – sample;} vline(x0, y0, sample, color_orange); // plot sample on screen } [/c] Das Resultat seht ihr auf dem Bild
-
Thread
China SUPER Bauteile-Schnäppchen Thread
10 Stück RTC I2C AT24C32 DS1307 Real Time Clock Module für insgesamt USD 4,52 bei AliExpress: http://www.aliexpress.com/store/product/Tiny-RTC-I2C-AT24C32-DS1307-Real-Time-Clock-Module-ARM-PIC-for-Arduino-UNO-R3/613903
1284541574.html Dazu braucht man dann noch kleine Adapterplatinen (z.B. vom Platinensammler) mit einem µC mit ordentlich viel Flash für die Schrift- und Widget-Bitmaps. Ein PIC24FJ64GA002-I/SO kostet z.B. etwa genau so viel wie das Display und hat 64 KiB Flash und 8KiB RAM. Das wäre - wie ich finde -
-
Thread
Frage zur C Syntax
stimmt meine Rechnung oder bekomme ich da einen falschen Wert wegen Überlauf raus? Kann der µC (AT91SAM7) auch mit 64 bit Werten umgehen?
32bit Werte. Das shift-8 und and 0xFF lässt sich auf'm 8bitter mit Byteschubserei erledigen, 1mal 24bit*24bit + 1mal 8bit*24bit ist auf'm 8bitter theoretisch deutlich kürzer als 1mal 32bit*64bit (bzw. 32bit*32bit mit 64bit Ergebnis). Und wenn die 400MHz 'n Tippfehler sein sollten kann er das einfach
-
Thread
EleLa - Elektronik Lagerverwaltung ab V1.2.11A26
Hallo Markus, ich versuche das Programm unter Win7 64bit zu installieren. Das Verzeichnis gebe ich an als: "C:\Program Files (x86)\EleLa" (übliches Programmverzeichnis in Win7). Die Installation ist bei dem Verzeichnis unvollständig, ohne jegliche Fehlermeldung
ich zwei Positionen. In Ver.2 Ist unter F4 keine Bestellung zu finden. In Ver.1 finde ich unter 27C64 Bestellung einen Eintrag. Menge 6. In Ver.2 gibt es diesen Eintrag nicht. Dietmar
-
Thread
Arduino Custom Firmware für Fitness Armband mit NRF52
also auch recht genau sein müsste. Nochmal nachgeschaut: uint32_t millis( void ) { uint64_t ticks = (uint64_t)((uint64_t)overflows << (uint64_t)24) | (uint64_t)(NRF_RTC1->COUNTER); return (ticks * 1000) / 32768; } uint32_t micros( void ) { uint64_t ticks = (uint64_t)((uint64_t)overflows << (uint64_t)24) | (uint64_t)(NRF_RTC1->COUNTER); return (ticks * 1000000) / 32768; } die millis() kommen vom LowFreq Quarz und laufen über den RTC1 Timer
-
Thread
Stack Überschreiber beim Rechnen mit uint64_t
r18, r17 5b58: 30 2f mov r19, r16 5b5a: 4f 2d mov r20, r15 5b5c: 5e 2d mov r21, r14 5b5e: 6d 2d mov r22, r13 5b60: 7c 2d mov r23, r12 5b62: 8b 2d mov r24, r11 5b64: 9a 2d mov r25, r10 5b66
Ticks ASRC += $(64BIT_DIR)/libdiv64.S [/c]
-
Thread
Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen
0x42, 0x95, 0x26, 0xAD, 0x35, 0xA9, 0x52, 0xB5, 0x6D, 0x5B, 0xD4, 0xAB, 0x54, 0xAA, 0x2A, 0x55, 0x24, 0xD7, 0xFD, 0xFF, 0xE6, 0x8A, 0xAA, 0xA9, 0x52, 0x5A, 0x7B, 0x5B, 0x6F, 0x6C, 0xED, 0x75, 0x5E, 0xD5, 0x55, 0x4B, 0xBE, 0xFD, 0xAA, 0xB6, 0xBB, 0xFD, 0xBB, 0xBF, 0x77, 0xED, 0xEE, 0xDE, 0xBA
Displaypixel 80 -> 80 :8 = 10 -> X = 10 ? Displaypixel 80 -> 80 -> Y = 80 ? Das Bild wird in 64 x 64 Pixel gesendet (rechts abschneiden) das wären doch 64 : 8 = 8 x 3 = 24 Byte x 64 = 1536 Byte Testbild. bis hier richtig gerechnet ? Wigbert
-
Thread
BME680 Berechnung Temperatur Luftfeuchtigkeit Druck Gas Fragen Initialisierung Assembler ASM ATmega8
Hersteller im Treiber zum BME680 angegebene Routine für eine Integerrechnung sieht wie folgt aus:[c] static int16_t calc_temperature(uint32_t temp_adc, struct bme680_dev *dev) { int64_t var1; int64_t var2; int64_t var3; int16_t calc_temp; var1 = ((int32_t) temp_adc >> 3) - ((int32
erwähnt, was mache ich falsch? https://github.com/BoschSensortec/BME680_driver/blob/master/bme680.c 89h to A1h for calibration data 1 to 24 E1h to F0h for calibration data 25 to 40
-
Thread
The Siemens S65 132x176, 65536 color display with AVR
. - 5 volt eingang. - MSP430F15x/MSP430F16x/MSP430F161x microcontroller. - JTAG anschluss. - I2C anschluss mit pegel anpassung. - RS232 V24 anschluss. - bis zu 64Kbytes EEPROM (smd) - Spannungs regler für 3.3 volt und 2.8 volt. - Spannungs regler für hintergrundbeleuchtung, PWM geregelt. -
, &H3C , &H00 ' "w" Data &H6C , &H10 , &H10 , &H6C , &H00 , &H00 ' "x" Data &H9C , &HA0 , &H60 , &H3C , &H00 , &H00 ' "y" Data &H64 , &H54 , &H54 , &H4C , &H00
-
Thread
Kleiner AVR Trick zum schnellen Inkrementen grosser Zahlen
6, r24 ; 0x06 56: 97 83 std Z+7, r25 ; 0x07 58: 08 95 ret uint64_t bla, blub, usw; void test(void) { inc64(&bla); 5a: 80 e7 ldi r24, 0x70 ; 112 5c: 90
r24, 0x60 ; 96 68: 90 e0 ldi r25, 0x00 ; 0 6a: e3 cf rjmp .-58 ; 0x32 <inc64> [/c] In der Regel überlege ich ab 2 Vorkommen einer Codesequenz, ob ich daraus eine Funktion
-
Thread
AVR, Pointer auf Flash-Speicher per Assembler
Verstehe ich Ihre Antwort richtig dahingehend, dass ein C-Compiler solche Tabellen immer in die untersten 64 kiB legt?
Folgendes (interessantes) habe ich aber in der lss-Datei gefunden: [avrasm] 1fc: 00 00 06 00 0c 00 12 00 18 00 1e 00 24 00 2a 00 ; Das sind die ersten 8 Werte des Arrays [...] 28e: fc 01 movw r30, r24 ; Das ist die Übergabe des Parameters aus C in das Z-Register [/avrasm] Daraus kann ich
-
Thread
Art der if-Auswahl nur Geschmackssache?
(*b)(void);void (*c)(void); } F = {set_summer, do_nothing, set_winter}; static void (**p)(void) = (void(**)(void)) &F + 1; p[(mon==10 && wday==7 && day>24) - (mon==3 && wday==7 && day>24)](); } [/c] Sehr
nicht so ein >> konstruiertes wie > > Ich weiss ja nicht, ob Dir das konstruiert ist: > > [c] > void test(void) { > char a; > a = a * 4; > a = a << 2; > } > [/c] > > [avrasm] > ldd r24,Y+1 > lsl r24 > lsl r24 > std Y+1,r24 > ldd r24,Y+1 > clr r25 > sbrc
-
Thread
EleLa - Elektronik Lagerverwaltung Entwicklung V3.0
23:00:23 Parameter [Projekt] DefHandbuchDir=C:\EleLa\Projekt 23:00:23 Parameter [Projekt] GeraetDefHandbuchDir=C:\EleLa\Gerät 23:00:23 Parameter [Projekt] DokuDefHandbuchDir=C:\EleLa\Doku 23:00:24 Connect database... 23:00:24 DB.Version: SQLite-DLL
Hier der Download V3.0.17C10: http://www.mmvisual.de/elela/ - Linux 32 / 64
-
Thread
C versus Assembler->Performance Gesperrt
implementiert man besser komplett neu :-) Hier noch meine Lösung zum Vergleich gegen 1000000, etwa wie in [c]extern void f (void); void caller (uint32_t val) { if (val < 1000000) f(); }[/c] Lösung: [avrasm] caller: cpi r22,64 sbci r23,66 sbci r24,15 cpc r25,__zero_reg__
A. K. schrieb im Beitrag #4252520: > Ergebnis vom Compiler: [c] cpi r22,64 ldi r18,66 cpc r23,r18 ldi r18,15 cpc r24,r18 cpc r25,__zero_reg__ brge .L1 [/c] Und der (der Compiler) ist praktisch
-
Thread
AVR64EA28: PIT-Interrupt
an C-hater: Übrigens finde ich diese 'Note' zwar im Datenblatt des ATmega4809, aber weder in dem für AVR128DA28/32/48/64 noch im Preliminary für AVR64EA28/32/48; also eine simple Suche nach 'during device
weil sonst der Fehler mit falschen MCU Status erscheint. Mit Option -B 500 klappt es auch nicht. [c] avrdude -c jtag2updi -P com5 -p avr64ea32 -v -U flash:w:avr64ea32rtc.hex:i [/c] Fehler [code] avrdude: Version 7.3 Copyright the AVRDUDE authors; see https://github.com/avrdudes
-
Thread
STM32F103C8T6 - Fälschung von ST bestätigt
3 2 R Lot_num ascii encoded [55:24]: 0x43135430 | C . T 0 Testing 64kB Flash block: 0x10000 - 0x1FFFF Erasing Flash with 1010101010101010 (0xAA) Testing for 0xAA - OK Erasing Flash with 0101010101010101 (0x55) Testing for 0x55
| S C . Lot_num ascii encoded [55:24]: 0x004E4B35 | . N K 5 Die MCU hat definitiv nur 64 KB Flash und nicht 128 KB wie die anderen Blue-Pills. Das Blinky_Test-v0.11.hex läuft nach wie vor nicht!
-
Thread
Acer Laptop kennt keine Festplatte(n) mehr
6d 6f 64 65 2e 0d 0d 0a 24 00 00 00 00 00 00 00 |mode....$.......| 00000080 91 14 4a 02 d5 75 24 51 d5 75 24 51 d5 75 24 51 |..J..u$Q.u$Q.u$Q| 00000090 46 3b bc 51 d4 75 24 51 ce e8 ba 51 c0 75 24 51 |F;.Q.u$Q...Q.u$Q| 000000a0 ce e8 8b 51 d7 75 24 51 dc 0d b7 51 d2 75 24 51 |...Q.u$Q...Q.u$Q| 000000b0 d5 75 25 51 b3 75 24 51 ce e8 8f 51 fa 75 24 51 |.u%Q.u$Q...Q.u$Q| 000000c0 ce e8 8e 51 56 75 24 51 ce e8 bf 51 d4 75 24 51 |...QVu$Q.
-
Thread
Raspberry Pi 4 vorgestellt
vorhandenen Ressourcen weit entfernt ist. > > Wie viele Jahre hat es gedauert, bis die Programmierer den C64 optimal > genutzt haben? Frühe Demos vs. späte Demos? Siehste. Und ein C64 ist im Vergleich zu einem 64-Bit-Vierkerner geradezu trivialst aufgebaut. >> Für einen Bastellrechner erwarte ich viel
> Trotzdem möchte man einen C64 heutzutage nicht mehr produktiv einsetzen. Das stimmt nicht. Die Produktion des C64 wurde doch gerade wieder aufgenommen weil die Win10 Juenger es verkackt haben und alle wieder darauf zurueck wollen
-
Thread
AVR-Studio 4.19 und JTAG ICE MK2 unter Windows 11 64 Bit installieren
__uint24 u24; typedef __int24 s24; [/c] Es steht entsprechend in AvrStudio_c.ini: [code] uint8_t = Keyword int8_t = Keyword uint16_t = Keyword int16_t = Keyword uint32_t = Keyword int32
s64 = Keyword u24 = Keyword s24 = Keyword [/code]
-
Thread
Z180-Stamp Modul
| .2c ..0 ..0 ..0| 0090 0c 94 b3 30 0c 94 b3 30 0c 94 b3 30 0c 94 c0 64 | ..0 ..0 ..0 ..d| 00a0 0c 94 b3 30 0c 94 b3 30 0c 94 ce 71 0c 94 b3 30 | ..0 ..0 ..q ..0| 00b0 0c 94 b3 30 0c 94 b3 30 0c
>.| 0130 62 6f 6f 74 63 6d 64 00 23 23 23 20 6d 61 69 6e |bootcmd.### main| 0140 5f 6c 6f 6f 70 20 65 6e 74 65 72 65 64 3a 20 62 |_loop entered: b| 0150 6f 6f 74 64 65 6c 61 79 3d 25 64 0a 0a 00 62 6f |ootdelay=%d .bo|
-
Thread
Zeigt her Eure Kunstwerke! Gesperrt Bilder
Du bist aber auch noch voll in der C64 Materie drin, kann das sein? Soweit ich weiß waren die Dinger sogar noch vor meiner Zeit ;) Achso, schönes Layout hast du gemacht!
und auch im Nachhinein Änderungen am Design zulässt. Ich quäle meine Lötkolbenspitze auf über 400°C verzinne den PU-Draht (ungefähr 5s) und gehe dann an den IC (<0,5s) bei 400°C. Bislang ist mir dabei noch kein Chip kaputtgegangen. TQFP ist kein Problem, QFP64 habe ich so auch schon gelötet. Ist
-
Thread
LCD Controller für 640x480 LCD mit mega8515
LCDs (kein TFT) ? Vor allem das Ansteuertiming ist wichtig. Hier gibt's ein Datenblatt des LM64C12 von Sharp, 640x480 passiv RGB: http://www.woe.onlinehome.de/lcddata.htm Gruß Michael
Am besten geht es mit einem 64kB SRAM, ein 32KB SRAM funktioniert aber auch, dazu muss aber die 7. Adressleitung (A6) am uC frei gelassen werden und stattdessen mit A15 verbunden werden.
-
Thread
EleLa - Elektronik Lagerverwaltung V3.1
SQL Server Update am besten vorher die Datenbank als SQLite Version exportieren. Die EXE V3.1.18C24 gibt es hier: http://www.mmvisual.de/elela - Win32 - Win64 Wenn der SQL Server das JSON Format nicht kennt so wird das Update 65 fehl schlagen. Bei diesem Fehler kann problemlos EleLa V3.0
[c]mratix@crodevo:~$ qtchooser -l 4 5 default qt4-x86_64-linux-gnu qt4 qt5-x86_64-linux-gnu qt5 [/c] Besagt dass die Qt4+5 Unterstützung vorhanden ist. Qtconfig meldet zudem, aktiv die 4.8.7.
-
Thread
Integer-Berechnungen mit grossen Zwischenwerten
keine 128 Bit, auch nicht auf dem 64 Bit Core-irgendwas. http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/005_c_basisdatentypen_017.htm
im Beitrag #6398384: > sid schrieb: >> so wird zu keinem Zeitpunkt eine Zahl erzeugt die nicht in 64bit passt. > > Doch. > > Cheers Ne wird nicht.. angenommen x, f, L und a sind vordefiniert wie im Eingangspost also 31, 24, 32 und 16 bit maximal dann hat man [c] uint64_t xfj = x*f
-
Thread
6502 Prozessor wer kennt den noch?
war das ding nicht im C64 drin? wieso programmierst du dann keinen C64? :)
Ben ___ schrieb im Beitrag #2203009: > war das ding nicht im C64 drin? Im C64 war der 6510 verbaut. Der 6502 war in dessen Vorgänger, d.h im VC20 verbaut
-
Thread
Suche 16 bit CPU mit externem Buszugriff
Datenbus und es gibt von WDC einen wohl relativ brauchbaren C-Compiler (aber nur fuer Windows). Allerdings ist der als 6502-Nachfahre doch schon etwas angestaubt. Dafuer kann man fuer Performance-Optimierungen seine Assembler-Kenntnisse aus C64-Zeiten vervorkramen
klausr schrieb im Beitrag #4576146: >> M16C/30 > > Hm... hat der nicht 64 kByte Segmente? IMHO gibts zwar einen longjmp, Das ist doch kein Infineaon C166 / C167 JMP und JSR sind 20 bit (voller Adressbereich), relative Jumps 16 bit.
-
Thread
Pulsschweisgerät mit Auto Batt Schaltungs Verbesserung
1 0 0 100 default 162 176 128 176 176 2 default-led 1 0 0 0.01 g 176 272 176 288 0 0 x -95 118 64 121 4 18 to\sdrain\sof\sMosfet x 220 182 313 185 4 24 LED\sred x -95 258 58 261 4 14 To\sGate\sDriver\sOutput d 80 80 128 80 2 default c 240 80 240 112 0 0.00001 0 0.001 t 144 256 176 256 0 1 0
0 r -16 64 -16 112 0 80 s -64 112 -64 64 0 0 false w -64 64 -16 64 0 w -64 112 -16 112 0 o 19 64 0 4099 5 0.2 0 2 19 3
-
Thread
Taschenrechner: ATmega1284p - 15x 7-Segmentdisplay
107ms leicht erhöht. Jetzt passt es wieder. Das Original hat offensichtlich richtig gerechnet. [c] uint64_t Dividend_64; uint64_t Divisor_64; uint8_t nShift = 0; Dividend_64 = tempDividend.hi; while ( Dividend_64 > 0 ) { nShift += 1; Dividend_64 >>= 1; } tempDividend
Ich habe einen Fehler in folgender Funktion gefunden: [c]uint32_t sqrt(uint64_t num)[/c] Die Beschreibung zum Algorithmus findet man hier: http://ww1.microchip.com/downloads/en/AppNotes/91040a.pdf [c]uint32_t sqrt(uint64_t num) { uint32_t res = 0;
-
Thread
WinAVR Bug: Crash wegen Codegrösse
223a4: 8c 01 movw r16, r24 223a6: eb 01 movw r28, r22 223a8: 8b 81 ldd r24, Y+3 ; 0x03 223aa: 81 ff sbrs r24, 1 223ac
r19, r25 223be: 64 f4 brge .+24 ; 0x223d8 <fputc+0x3c> 223c0: e8 81 ld r30, Y 223c2: f9 81 ldd r31, Y+1 ; 0x01 223c4: 01 93
-
Thread
Mini-Farbdisplay (+mehr) für 1 Euro
Flash-Adresse im Speicher des 65c02 gemappt wird. Zudem kann DASMx keine Dateien >64K disassemblieren. (ist ja auch logisch, da der 65c02 nicht mehr als 64K ansprechen kann) By the way: Man sollte die Codethreading Option von DASMx
'T DATA 0,63,64,64,64,63 'U DATA 0,31,32,64,32,31 'V DATA 0,63,64,60,64,63 'W DATA 0,99,20,8,20,99 'X DATA 0,7,8,112,8,7 'Y DATA 0,113,73,69,67,0 'Z 'Font-Quelle: 6x8 Zeichensatz aus dem Verzeichnis "C:\BASCOM
-
Thread
[Biete] Sammelbestellung de.Mouser.com 2015 Gesperrt
http://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=bd1c1c829f Wert: 24,74 Sammelwert: 112,72
https://www.mouser.de/ProjectManager/ProjectDetail.aspx?AccessID=24c960107c Warenwert: 34,30€ Sammelwert: 75,24€
-
Thread
NXP verschenkt ARM-Chips
Von Micron gibt es den kleinsten MT48LC2M32B2P-7 64Mb 2Mb x32 3.3V TSOP 86-pin 7ns 0C to +70C @Tobias: Ich arbeite professionell, und die 720 hatte mich gut 2000 Euro gekostet, nur würde ich NIEMANDEN raten, von Ayoue was zu kaufen. Funktioniert
Genau, und das zu Übersehen kann einen Haufen Ärger machen! Also der RAM läuft scheinbar. [c] for (i = 0; i < 64; i+=sizeof(unsigned int)) { *(unsigned int*)((unsigned int)&SDRAM_BASE_ADDR+i) = i; } for (i = 0; i < 64; i+=sizeof(unsigned int)) { if (*(unsigned int*)(
-
Thread
STM32 USB Übertragungsproblem mit Code von S.F.
:1:025:2 -115 1 = 57 "W" ffff9ea340ba0480 3590089996 S Bo:1:025:2 -115 1 = 6f "o" ffff9ea340ba0c00 3590089998 S Bo:1:025:2 -115 1 = 72 "r" ffff9ea340ba0180 3590090000 S Bo:1:025:2 -115 1 = 6c "l" ffff9ea340ba03c0 3590090002 S Bo:1:025:2 -115 1 = 64 "d" ffff9ea340ba0300 3590090003 S Bo:1:025
SysTick_Config(SystemCoreClock/1000); while (1) { char buf[65]; int n=0; while (n<64) { char c; if (UsbGetChar(&c, 10)) { buf[n]=c; n++; } } UsbSendCharBlock(buf, 64); } } [/c] Mit anderen Worten, ich warte
-
Thread
Näherung für ArcusTangens?
braucht's ein extern "C" Wrapper, das war's. Die Implementierung ist vanilla C, also prinzipiell einfach portabel. Leider ist die Implementierung stellenweise etwas kryptisch; zumindest for mich. avr_f64.c::f_arctan()
}; uint64_t q[] = { 0x4092e6fcee076437, 0x40bad4a5ae669b0c, 0x40bca1170484103d, 0x409c7666bf57e3f0, 0x407a712576c7c5c1, 0x4053f57d3b26bda5, 0x3ff0000000000000 }; [/c] Jens G. schrieb im Beitrag #5996316:
-
Thread
Linux: Nach Start von MPlayer hat Chromium keine Soundausgabe mehr
on meson D: [pulseaudio] main.c: Running on host: Linux x86_64 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 D: [pulseaudio] main.c: Found 12 CPUs. I: [pulseaudio] main.c: Page size is 4096 bytes D: [pulseaudio
. I: [pulseaudio] main.c: Running in system mode: no I: [pulseaudio] main.c: System supports high resolution timers D: [pulseaudio] memblock.c: Using shared memfd memory pool with 1024 slots of size 64.0 KiB each, total size
-
Thread
Verständnisproblem in AVR C Syntax Gesperrt
define uint8_t #define int16_t #define uint16_t #define int32_t #define uint32_t #define int64_t #define uint64_t das macht es definitiv Plattform unabhängiger, schliesslich laufen meine alten C-Routinen auch immer noch auf dem AVR > Sollte in jedem halbwegs brauchbaren C und C++ Buch
1 Byte groß (sizeof(char) == 1). Ein Byte ist aber nicht unbedingt 8 Bit groß. In C ist nur definiert, dass es mindestens 8 Bit breit ist. Auf einem DSP, der nativ 24 Bit hat und in nichts kleinerem rechnen kann, könnten z.B. char, short und int 24 Bit breit sein, long 48 Bit und long
-
Thread
SSD1306/1309 Library zum Darstellen von Text auf OLED Displays
0.96 lässt sich mit dem HelloWorld Beispiel und folgender Displaydefinition zum Leben erwecken. [c]U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);[/c] Für das 0.49 habe ich dann das genommen - funktioniert nicht [c]U8X8_SSD1306_64X32_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE
einzige was mir bisher aufgefallen ist wäre eine unterschliedliche multiplex ratio. Hier steht in [c]u8x8_d_ssd1306_64x32_noname_init_seq[] =[/c] [c]U8X8_CA(0x0a8, 0x02f), /* multiplex ratio: changed from 0x1f to 0x2f */[/c] und in [c]u8x8_d_ssd1306_64x32_1f_init_seq[] =[/c] [c]U8X8_CA(0x0a8,
-
Thread
was spricht eigentlich gegen die xmega? Gesperrt
Praxis wie beim Mediamarkt die Leute mit > billigen Preisen zu ködern Nun gut, Deine Chips haben 64KB Flash und 4KB RAM + EEPROM: atxmega64a3u : Mouser 3,49€ atxmega64d3 : Mouser 2,90€ bei STM32 sieht das so aus, die haben 8KB RAM: STM32F030R8 : Mouser 1,77€ + 24LC32 EEPROM 0,30€ = 2,07€ STM32L100R8
interne Flash. deswegen gibt's ja jetzt den HC*S*12 mit 1MB ECC-Flash (wenn's etwas mehr sein darf): 64K RAM memory protection unit I/O coprocessor 2 12-Bit ADCs 5 CAN 8 16-Bit Timer und noch ein paar andere 8 PWM 3 SPI 8 UART 2 I²C 50 MHz, 3 bis 5 Volt
-
Thread
Frage zu Timern in C
r25, 0x40 ; 64 88: 08 f4 brcc .+2 ; 0x8c <test1+0xc> 8a: 80 e0 ldi r24, 0x00 ; 0 8c: 08 95 ret 0000008e <test2>: 8e: 28 2f mov r18, r24 90: 30 e0
85 b9 out 0x05, r24 ; 5 c0: 61 ec ldi r22, 0xC1 ; 193 c2: 82 e0 ldi r24, 0x02 ; 2 c4: 0e 94 47 00 call 0x8e ; 0x8e <test2> c8: 85 b9 out 0x05, r24 ; 5 ca: 62 ec
-
Thread
ST EEPROM das richtige finden und kaufen
Hallo m-power, M24C64-WMN6 für 0,14EUR rgds
schnelle Antwort. > Damit ich es verstehe.. wie hast du es gemacht? Weil auf dem EEPROM > steht ja nur 24C64W6 von "MN" ist gar nichts dabei Datenblatt geschaut: http://www.mouser.com/ds/2/389/m24c64-f-955072.pdf rgds
-
Thread
ATtiny13 verstehe Verhalten nicht
0x3a, r24 ; 58 36: 8b b7 in r24, 0x3b ; 59 38: 80 64 ori r24, 0x40 ; 64 3a: 8b bf out 0x3b, r24 ; 59 3c: 10 92 60 00 sts 0x0060, r1 40: 78 94 sei
0x3a, r24 ; 58 36: 8b b7 in r24, 0x3b ; 59 38: 80 64 ori r24, 0x40 ; 64 3a: 8b bf out 0x3b, r24 ; 59 3c: 10 92 60 00 sts 0x0060, r1 40: 78 94 sei
-
Thread
avrgcc erzeugt sinnlosen code?
= Result + 32; if(iLookUph[(int)(cTemp-64)]<=In_h) Result = cTemp; cTemp = Result + 16; if(iLookUph[(int)(cTemp-64)]<=In_h) Result = cTemp; cTemp = Result + 8; if(iLookUph[(int)(cTemp-64)]<=In_h)
= Result + 32; if(iLookUph[(int)(cTemp-64)]<=In_h) Result = cTemp; cTemp = Result + 16; if(iLookUph[(int)(cTemp-64)]<=In_h) Result = cTemp; cTemp = Result + 8; if(iLookUph[(int)(cTemp-64)]<=In_h)
-
Thread
24 serielle Schnittstellen am PC
Ich wuerd 8 Mega 64 so baumfoermig zusammrnschalten, dass 24 Schnittstellen brauchbar sind. Dann mit einer einzigen zum PC.
Fuenf Tassen schrieb im Beitrag #2730716: > Ich wuerd 8 Mega 64 so baumfoermig zusammrnschalten, dass 24 > Schnittstellen brauchbar sind. Dann mit einer einzigen zum PC. Lern lesen :D
-
Thread
2 Slaves an I2C
EEPROM_24LC64_I2C_BUS I2C2 // I2C1 problematisch -> selbe wie HY3118 #define EEPROM_24LC64_ADDRESS 81 // device Address EEPROM: 1 | 0 | 1 | 0 | A2 | A1 | A0 | R/W = 1 | 0 | 1 | 0 |
zurückzuführen. Ich habe beim Lesebefehl bei der Device-adressierung das falsche Makro eingefügt, nämlich [c] #define EEPROM_24LC64_I2C_BUS I2C2 #define EEPROM_24LC64_ADDRESS 80 I2C_FORMAT_7_BIT_ADDRESS(SlaveAddress, EEPROM_24LC64_I2C_BUS, I2C_READ); // anstatt I2C_FORMAT_7_BIT_ADDRESS(
-
Thread
Heizungs-Datenerfassung (HT3)
sind (die mit *): [code] 90 00 06 00 11 01 11 05 2D 31 03 00 10 FF 00 A7 00 ** 90 08 23 00 41 64 64 C5 00 88 00 18 00 41 02 2A 32 00 01 23 20 C0 80 00 80 00 80 00 FF FF FF 00 00 00 00 00 00 00 E3 00 88 00 34 00 28 00 75 01 BD 81 00 00 03 00 00 07 3D 00 03 EA 00 63 00 ** 90 08 1A 00 41 64 64 7E 00 ** 90 00 FF 00 01 67 00 00 BD 00 ** 90 00 FF 00 02 1D 00 00 09 07 5C 00 ** 90 08 35 00 11 01 A9 00 ** 90 08 35 03 28 6B 00 [/code]
-
Thread
millis denkproblem Gesperrt
Tage benötigt, muss man eben eine Extrawurst backen. Aber meist, reichen die 32 Bit völlig aus. [c] uint64_t wideMillis() { union { struct { uint32_t lo; uint32_t hi; }; uint64_t zeit; } static daten; uint32_t jetzt = millis(); if(jetzt <
LED, die per millis() im 100-Tage-Takt "blinkt", > also 50 Tage on und 50 Tage off. > 50 Tage = 50*24*60*60*1000 ms = 4320000000 ms = 0x1017DF800 ms [c] //#include "INTERVAL.h" const byte LED = LED_BUILTIN; uint64_t wideMillis() { union { struct { uint32_t hi;