-
Thread
ATtiny2313 Programmieren
Müssen sonst noch Hardwareteile mit Lieferzeiten beschafft werden? 3. bis 6. Woche Kleiner C-Grundkurs um zu verstehen, wie ein C-Programm geschrieben wird. Was sind Datentypen, Variablen, Funktionen, If-Abfragen, While-Schleifen, For-Schleifen und Bitmanipulationen. Durchnummerierung aller Zeilen im Originalprogramm. Beschreibung jeder einzelnen Zeile im Originalprogramm, die man bereits versteht. Programmablaufpläne (Flussdiagramme) skizzieren. Wie installiert man einen C Compiler (AVR Studio plus WinAVR) und wie setzt man ein Projekt
-
Thread
I2C auf dem STM32 F411RE
Also bei sowas bekomm ich nen Schreikrampf: [c] RCC->APB1ENR |= 1 <<21; while (!(I2C1->SR1 & 0x0002));[/c] Die Bits haben Namen...
clear ack bit } while (!(I2C1->SR1 & I2C_SR1_RXNE));// Wait until RxNE bit set - see status register return (I2C1->DR); } [/c] Das Programm wartet dann bis zum Sanktnimmerleinstag auf das Setzen
-
Thread
Was wird Entwicklung einer Platine mit uC, Display, USB kosten?
die Software ist wirklich Trivial: USB mit Portausgabe und Async ser. Out (RS232) und ausgabe auf 8Bit Port macht bereits das CDCDemo von Microchip, Der RS232 Part wird durch i2c aus einer anderen AN erstzt (habe da auch schon eine im Kopf), Fehlt noch die Abfrage des Inc. Gebers wofür es auch eine
wie wir. Kannst Du dann bitte mal so eine tolle Library herzeigen? Also konkret ne Multimaster-I2C Lib in C geschrieben und kommentiert. Oder wenigstens ne einfache 4Bit HD44780 Lib in C. Oder ist das alles nur heiße Luft? Peter
-
Thread
Probleme mit der Verbindung PWM + ADC
Wie soll das zusammengehen? [C] uint16_t pwmtable_8B[8] PROGMEM = {0, 4, 8, 16, 32, 64, 128, 255}; [/C] Du hast 8 PWM Stufen definiert [C] for(tmp=0; tmp<=255; tmp++){ //255 Stufen bei 8-bit, rauf zählen OCR1A = pgm_read_word(pwmtable_8B+tmp); my_delay(delay); } [/C] versuchst aber 256 auszugeben. Schreib das so doch so [C] uint16_t pwmtable_8B[8] PROGMEM = {0, 4, 8, 16, 32, 64, 128, 255}; #define ARRAY_SIZE(x) (sizeof(x)/sizeof(*x)) [/C] ..
-
Thread
AREF intern nutzen (umschalten) bei ADC
2.3fV %02d", wert3,hilfs); //ausgabe adc0 und akt.intervall via sprintf lcd_puts(text); }[/c]
TIMER0_OVF_vect) { sek++; //"pseudo"sek (85µsek) wird erhöht } [/c]
-
Thread
Vor- bzw. Nachteile AVR / 8051
longdiv(a/b) (a=987654321, b=123456789). Vergleichsweise dazu noch einen H8S_2352/20MHz/ext. RAM 16 Bit. Hier die Zeiten in uS (mul/div): AVR (IAR V1.xx) float (<50/<50); long (<50/<50) 8051 (Keil C51 V3.40) float (400/720); long (160/1030) H8S (IAR ICCH83) float (17/32); long (6/18); short (2/2
Der T89C51CC01 hat 5* 8bit-PWM und 8* 10bit-ADC. Die 16kB Flash sind über die UART programmierbar (Atmel Flip-Software). Dazu enthält er einen 2kB Bootloader, der nicht versehentlich überschrieben werden kann
-
Thread
Einschaltautomatik Esp8266
Kanal-Wandler bedeutet, dass du 18 Analogsignale daran anschließen kannst. Aber es ist zum Glück nur ein 18-Bit-Wnalder, von dem du mit deinem aufbau gleich mal 7-8 Bit vergessen kanst. > jedoch bin ich beim Versuch mit dem ESP8266 das Analoge Signal vom ACS758 > abzufragen und *gleichzeitig* die WLAN Kommunikation
> val) *pmin = val; } //----------------------------------------------------------------- [/c]
-
Thread
AVR: Atmega16 Interrupt Timer0 über Bascom
> Als nächsten Versuch bliebe mir noch, es auf einem Atmega8 zu versuchen > bzw. das Ganze in C zu programmieren. [C] // $regfile = "m16def.dat" 'definieren des verwendeten Chips // $crystal = 16000000 'definieren des verwendeten externen Quarz (8MHz ???) #define F_CPU 16000000
>> Als nächsten Versuch bliebe mir noch, es auf einem Atmega8 zu versuchen >> bzw. das Ganze in C zu programmieren. Vielen Dank für die Portierung ins C. Das werde ich dann wohl als nächstes testen bzw. gleich mal Dein Hex-File laden. Resultat wird berichtet. Dieter
-
Thread
Aus X Buchstaben Y Wörter bilden - Programmieren
Man braucht einen Wortschatz und mittels einer Abfrage des möglichs kurzen Wortes von vorhandenen Buchstaben. Hier eine Python Bibliothek eines Wortschatzes: https://github.com/lehmannro/libleipzig-python Für C/C++ habe ich auf die Schnelle nichts
Buchstaben sortiert sind, dann ist es überhaupt kein Problem. Aber natürlich muss man alle Buchstaben einzeln prüfen. Die Frage ist nur wie man das tut. Wenn man z.B. nur die Buchstaben a,A,b,B,c,C,...x,X,y,Y,z,Z nimmt, dann ist die Aufgabe einfach: [c] const char* words[] = { "ONE", "two", "three
-
Thread
Pins ein und ausschalten
Ich moechte einzelne Pins des MSP430F169 ansprechen. Konkret in dem c-code: wenn an pin 1.1 keine Spannung anliegt (low) soll pin 2.1 Spanung fuehren (high) wenn an pin 1.1 Spannung anliegt (high) soll an pin 2.1 keine
Bin mitlerweile soweit, dass ich das 0x01 aus dem code: if ((P1IN & BIT1) == 0) // Abfrage Pin 1.1 = 0 (P2OUT = 0x01); // setze Pin 2.1 auf 1 (high) durch BIT0 ersetxen kann. BIT1 spricht folglich Pin 2.1 an. BIT2 Pin 2.2 usw... endlich
-
Thread
LM358 als Verstärker - stimmt das denn so?
Lothar schrieb im Beitrag #8031839: > und wozu eigentlich? Ach ja: Ich würde gerne einen 8-Bit Audiodigitizer für den C64 bauen - so wie in dem Artikel beschrieben: https://archive.org/details/commodore-world-03/page/n29/mode/2up "Normal" für den C64 sind eigentlich 4-Bit Digitizer gewesen. Die Audioqualität ist für C64er-Ohren "ok" bis "gar nicht soooo schlecht" (v.a. wenn man lange genug hinhört). 8-Bit galt lange als gar nicht möglich auf dem C64, bis neue Möglichkeiten der Soundausgabe über den C64-SID-Chip erdacht
-
Thread
LCD mit PIC ansteuern 2 Zeile
50' ; 50 ms Pause movwf loops call WAIT movlw B'00110000' ; 2 call Control8Bit movlw B'00110000' ; 3 call Control8Bit movlw B'00100000' ; 4 call Control8Bit movlw B'00000001' ; löschen und cusor home call OutLcdControl movlw B'00101000' ;
Ich kenne zwar PICs nicht, aber das sollte passen: > > movlw B'11000000' > call Control8Bit > > MfG Spess Ich habe von PIC mindestens noch weniger Ahnung, aber wenn ich mir den Quelltext anschaue, dann eher OutLcdControl als Control8Bit (OutLcdControl überträgt nibbleweise, Control8Bit
-
Thread
STM32F103 ADC und DMA Verständnisfrage
DIR(0) | TEIE(0) | HTIE(0) | TCIE(0) | EN(0); } void STM32F1_DMA1_startChannel1(void) { CLEAR_BIT(DMA1_Channel1->CCR, DMA_CCR_EN); SET_BIT(DMA1_Channel1->CCR, DMA_CCR_EN); }[/c] ADC:[c] #define REGULAR_GROUP_COUNT 3 static volatile uint16 regularGroup1[REGULAR_GROUP_COUNT] = { 0 }; void
_DMA1_startChannel1(); // Start conversion SET_BIT(ADC1->CR2, ADC_CR2_ADON); } uint16 STM32F1_ADC_getRegularGroupe1(uint8_fast channel) { if (channel >= REGULAR_GROUP_COUNT) { return 0xFFFF; } return regularGroup1[channel]; } [/c
-
Thread
Parameter an Funktion
, ist garantiert, dass dieses Bit gesetzt ist.
(char *c) { unsigned int count = 0; while( c[count] ) { obuf[count] = c[count]; count++; } BufCount = 0; UDR = obuf[BufCount++]; return(0); } [/C] Weder obuf noch BufCount
-
Thread
Datentyp für Strings
auf dem gleichen Compiler mit verschiedenen Architekturen unterschiedlich. Wenn du Mathe mit 8 Bit machen willst, dann (a) nimm uint8_t und int8_t (b) nimm explizit "unsigned char" oder "signed char" (c) geh in den nächsten Getränkeladen. SCNR
hier genau eine Zuordnung definiert. (https://de.wikipedia.org/wiki/Unicodeblock_Lateinisch-1,_Erg%C3%A4nzung) Es ist aber unüblich, mit einer 8-bit Zahl Unicode >127 darzustellen. Mit UTF-8 wäre eine 200 kein einzelnes Zeichen sondern der Auftakt für ein Multibyte-Zeichen, also die nächsten 8-Bit
-
Thread
[xMega] FatFs: Erklärung zufällig unregelmäßige Speicherzeiten?
die 10MByte/sec (bei Speed Class 10) und je > nach Karte auch mehr. Aber nicht mit einem AVR 8-Bit µC. Außerdem braucht der OP sicher nicht mehr als ein paar KByte/sec. Dr. Sommer schrieb im Beitrag #4652351: > * SD Bus ("SDIO") statt SPI verwenden, denn nur dann gilt die Speed > class Da
genau in meinem Text sage. > Jim M. schrieb im Beitrag #4652410: >> Aber nicht mit einem AVR 8-Bit µC. > Wer sowas verwendet ist eh selbst schuld :) Ich nehme an, Du bist Hobbybastler und kein professioneller Elektronikentwickler. Ich danke allen für die teils sehr hilfreichen Kommentare und
-
Thread
Diskussion zum Artikel "Single Chip Frequenzumrichter" für den 2. MC Wettbewerb
define festlegt, sondern in den Projekteinstellungen. Du kannst das leicht hinzufügen, indem du per [c] #define F_CPU 16000000UL [/c] *vor* dem [c] #include util/delay.h [/c] die Frequenz mitteilst oder im Makefile ein '-DF_CPU 16000000' addierst. Die Fuses werden davon nicht beeinflusst,
Spimash schrieb im Beitrag #7693464: > sondern 256 256 ist ein Überlauf und passt nicht in ein 8-Bit OCR Register, da es 9 Bit lang wäre.
-
Thread
SDCC & PIC16F
Sie die Suchverzeichnisse Normalen Compiler-Suche Verzeichnis "C:\Program Files\SDCC\include" PIC normalen Compiler-Suche Verzeichnis für SDCC 3.0 und höher von "C:\Program Files\SDCC\non-free\include" Normale Linker Suche Verzeichnis "C:\Program
18F2680 von Anfang parallel mit SDCC und Microchip Compiler. Durch Definition: #define MICROCHIP_C18 0 und dann Abfragen: #if MICROCHIP_C18 einzelne Teile werden angepasst auf beide Compiler. Das was mir sehr stört beim SDCC ist diese Begrenzung: #2589 Only 85 pointer possible in rom. This is
-
Thread
Entprellen mit Sam µC
Wo ist das Problem? Das ist doch plain C, also direkt portierbar. Und der Interrupthandler kommt in den SysTick mit rein. Der einzige Unterschied ist, daß ein Port wohl nicht 8bit, sondern 16 oder 32Bit breit sein wird, also die Typen entsprechend
: mitte,links,rechts,oben,unten,1,2,3 // PA4, PA11, PA16, PD25, PA15, PA22, PA21, PA24[/c] Ist das so richtig? z.B. zweiter Eintrag: PA11 ist der 12. Pin, also somit das 12. Bit am PortA. 12 = 0x0C . Diesen möchte ich im selbst gebastelten button_register am zweiten Bit setzen. Muss ich
-
Thread
STM32F103: Problem mit ChanFat und SD karte
Chris J. schrieb im Beitrag #5357722: > Vermischt ist da nichts, alles auf SPL jetzt [C] void SPI_16Bit() { /* SPI abschalten */ SPI_Cmd(SPI1, DISABLE); /* Setze Bit für 16 Bit Worte */ SPI1->CR1 |= SPI_CR1_DFF; /* SPI wieder einschalten */ SPI_Cmd(SPI1,
Da stimmt was nicht..... [c] SPI_8Bit(); FCLK_SLOW(); CS_LOW(); xchg_spi(0x11); xchg_spi(0x22); xchg_spi(0x33); xchg_spi(0x44); CS_HIGH(); CS_HIGH(); [/c] ergibt
-
Thread
PIC12F675 oder Atmel für Funk???
kümmert sich um die einzelnen Zustände des Fahrzeuges (die Zustände sind normale-, langsame- und Stopp für die Geschwindigkeit). Priorität: Sehr Hoch. c) Der Liniensensor ist also eines der komplizierten Komponenten. Der
Fußgängersensor das gleiche gilt für den Liniensensor */ Linie = ...; // Steht ja was es ist } [/c] Noch zu dem Code ich hab gerde gesehen das das mitgesendet wird ob eine baustelle da ist oder nicht da müsstest du mal schauen wie man in C bits maskiert dann kannst du dass alles in einem Byte unterbringen
-
Thread
Nested Interrupt - Atmega2560
dann umgekehrt. Clever wäre von den AVR-Entwicklern gewesen, daß jeder Interrupt, der sein Pending-Bit nicht beim Eintritt löscht, dann dafür einfach sein Enable-Bit löscht. Aber soweit haben sie leider nicht gedacht.
////////////////////////////////////////////////////////////////////////////// } } [/c] Makros: [c] #define DDR_LED DDRB #define PORT_LED PORTB #define PIN_LED 7 #define LED_ON PORT_LED |= (1<<PIN_LED) #define LED_OFF PORT_LED &= ~(1<<PIN_LED) [/c] BR/BL = Backright/-left
-
Thread
Hilfe bei Mikroprozessor Klausur
vectored interrupt“ in der Tabelle. -> In beigefügten Bild b) Wie viele Bytes sind zwischen den einzelnen Interrupt Adressen? -> 0x98 bis 0x9C vier Bits = 1/2 Byte?? c) Welche Art von Anweisung wird der Compiler an die Interrupt Adressen platzieren? -> Funktion, festlegen der Interrupt Service
die mit mehreren Quellen polled. Sieht richtig aus. > b) Wie viele Bytes sind zwischen den einzelnen Interrupt Adressen? > -> 0x98 bis 0x9C vier Bits = 1/2 Byte?? Unsinn. Der Vektor geht von 0x98 - 0x9B. Und das sind 4 Bytes. Das passt dann auch ins 4er Alignment für die Adrssierung. 0x9C
-
Thread
SHT11 am ATMega16 - ich dreh gleich durch :(
drüber schauen?! Achtung auf DATA ist 0 und 1 vertauscht, da ich den Port ja auf Null runter ziehe: [c] //#define DATA PORTB.B5 #define DATA DDB5_bit #define SCL PORTB.F7 #define mdelay asm nop //#define mdelay delay_ms(300); volatile unsigned int i = 0; volatile unsigned int j = 1;
Schleife laufen mit einem ripple auf der SCK Leitung alle zwei nop. Bekomme dann auch zwischen 4-6 bit auf high, muß nun halt nur noch gescheit den ACK abfragen und dann die 12 bzw 14 Bit abfragen. [c] asm { ldi r16, 0x32 out DDRB, r16 } DDRB = 0x80; [/c] So nun hab ich
-
Thread
Sommerauer-Lindner canbus Steuerung Hackgut
Die Aufzeichnungen sind korrekt. Die Temperaturen werden mit nur 1 byte übertragen und 1 bit = 0.6-1.8°C (unterschiedlich für Boiler, Außen, Vorlauf). Daher die grobe Auflösung (siehe unten). Zeitliche Auflösung 1 Minute. Meine S&L P15 ist aus dem Jahre 2001 - und hat damit eine älter Version
Text und LED an Bedienpaneel * ID 801 Tastenbefehle vom Paneel Hier noch mein Linearmodell: T[°C] = byte * k + d julia> boilerADC1 name: Boiler1 k : 1.8571428571428572 ==> entspricht 1 bit d : -339.8571428571429 julia> RaumADC name: Raum? k : 0.7766990291262136 d : -78.05825242718447
-
Thread
Mikrocontroller Rechenleistung reicht für aktuelles Projekt nicht?
sqrt64_floorC(square64); } } [/c] Eine Umsetzung der Wurzelfunktionen in Assembler wäre natürlich auch was, aber der Unterschied zwischen der Ruud v Gessel Variante und der oben gelisteten 32bit Wurzel ist
invertiert, sind die durchgeführten Rechenläufe pro sec = 2/ Hz. Zum besseren Vergleich laufen beide µC´s bei 8MHz. Der Hardware-Multiplier im ATMega ist also doch deutlich zu spüren. Getestet auf ATTiny45 mit 64 bit Ganzzahlen -> ~600 Berechnungen / sec Getestet auf ATMega1284P mit 64 bit Ganzzahlen
-
Thread
Parallel-Modus
Ich kann einfach due Fuse bits nicht zurücksetzten! Vielleicht wurde der µC zerstört!?.
Hi, ich habe erst versucht, meinen ATmega8515 zu lesen! Ich habe einfach 8 LEDs an den µC angeschlossen. Bei den Fuse-LOW-Bits leuchtet nur die 3. LED also: 00000100 Und bei den Fuse-HIGH-Bits leuchtet keins = 00000000 Bei Fuse-LOW die letzten 4 = 0000 0100 0100 beduetet das der µC mit
-
Thread
PIC16F627, Störung durch Induktionsspannung
= IC = = | | | | | ---+----------+---+---+---------+ C3 C1 C2 C4 C1 sitzt richtig, C2 sitzt subotimal, C3 ist Mist, C4 ist noch grösserer Mist > Ansteuerung erfolgt im Nulldurchgang. sehr gut, vermindert schon mal die Störspitzen
Zähler herunterzählen und eine Abfrage auf null machen).
-
Thread
PB-Akku 48V 24Zellen - Einzelzellenüberwachung
Reichelt: 0.52€ für 0.1%). Der Offset ist so genau bekannt wie der ADC messen kann. Man verschenkt also 1 Bit Auflösung. Nachdem wir im mikrocontroller Forum sind, wird die Messung natürlich mit einem uC gemacht. Die Messwerte werden per UART ausgegeben. Die RX- und TX-Pins aller Module werden über einen
Module koppelbar, aber eben nur AC. Würde man alle "I-Wires" an ein Zentralplatinchen führen (3 x 8-Bit-Port mit Pinchange-INT etc.), wäre quasi eine High-Speed-Erfassung aller Zellen simultan möglich. Der interne µC-RC mit so 128kHz oder 32,768kHz dürfte vollkommen reichen. Die Zellenspannung ist das
-
Thread
Serial Communiction uint8_t* Arduino
mit allen Arduinos und Arduino fähiger Hardware, welcher HardwareSerial (uart) nutzt. Alle! Von 8 Bit über 32 Bit bis 64 Bit Kesselchen. Egal welcher µC Type/Hersteller.
J. S. schrieb im Beitrag #7269517: > In C++ kann man Dinge unterschiedlich lösen Waren es 4 oder 5 Paradigmen, die C++ unterstützt? Und C nur ein einzelnes?
-
Thread
Fragen zum STK500, speziell den Einstellungen
Anfänger, deshalb vertraue nicht 100%tig auf meine Antwort, bin mir selbst nicht allzusicher. Hat der µC nicht 1 MHz normalerweise. Für andere Frequenzen => Quarz Und du kannst wenn du den µC programmierst auch bei Fuse Bits die Frequenz auswählen. Schau dort mal nach. Aja hab irgendwo mal gelesen,
G. F. wrote: > if (PIND == 0xfe) // Taster gedrückt? Wenn Du einzelne Bits abfragen willst, dann besser so, wie es im Artikel [[Bitmanipulation]] beschrieben ist. So eine Abfrage kann schnell in die Hose gehen. > _delay_ms(2000); So lange Zeiten macht man
-
Thread
Projekt: Virtuelle Instrumente an serielle Schnittstelle
3 von einander anhängige Messwerte können so dargestellt werden. Dann wäre das doch nur ein einzelner Punkt im Koordinaten System !? Also müsste der µC mehre Koordinaten setzten. Ich denke das ist dann doch schon eher Spielerei ;) MFG Renixor
Serial-Measurement-Programme an verschiedene uCs verteilen?... Man könnte sie einzeln am Comport programmieren, falls das Programm im uC-Flash gespeichert wird) Der Nachteil von Variante A ist, dass viele Netzwerksockets genutzt werden. Eine Umsetzung auf ein anderes Protokoll,
-
Thread
Cyclone III JTAG erkennen
Wie wärs denn mit einer ganz simplen Lösung? Einfach mitm uC nen Pin abfragen! Wobei z.B. der Jumper an jenem Pin immer nur zusammen mit dem JTAG-Stecker gesetzt bzw. entfernt wird. Ist "nur" eine IF-Abfrage in der Software... Ein bisschen umständlicher
mit den Daten aus dem Flash konfiguriert und eine, > wo er nur auf CONF_DONE wartet. Nö, ein einzelner Source-Code reicht aus. Dafür gibt es in C und C++ die Möglichkeit mit #ifdef zur Compilierzeit Entscheidungen zu treffen. Das passende Gegenstück findest du in den Komandozeilen Optionen des
-
Thread
China SUPER Bauteile-Schnäppchen Thread [V2] Gesperrt
Torsten C. schrieb im Beitrag #4105933: > STM8S003F3P6 (Value line) > 100 pieces/lot, €0,24/piece ob man sich so ein 8-Bit-Teil antun will? Vor allem weil es für ein paar Cent mehr schon aktuelle 32 Bitter
Torsten C. schrieb im Beitrag #4494202: > PB2 ist nicht heraus geführt. > Das kann z.B. stören, wenn man über PB0..7 8 Bit parallel ausgeben will > oder bis auf den letzten GPIO alle benötigt. Danke für
-
Thread
Kennfeld ablegen? Intern o. extern?
von Atmel doch mal das InstructionSet (also die reine Befehlserklärung - nicht das Datenblatt vom µC)
EEProm lesen langsam? Dauert 2 Taktzyklen. Du mußt allerdings erst die Adresse schreiben dann "lesen Bit" setzen und wenn das Bit auf 0 ist Daten lesen bei 125ns Takt schaffe ich das in 750 ns. Gruß Uwe
-
Thread
SPI emulieren
SPI-Master ist überhaupt kein Problem: [c] #include <avr\io.h> #include <inttypes.h> struct bits { uint8_t b0:1; uint8_t b1:1; uint8_t b2:1; uint8_t b3:1; uint8_t b4:1; uint8_t b5:1; uint8_t b6:1; uint8_t b7:
mögliche Repräsentation eines Byte. Das einfachste, um aus dem Ausgangsarray ein Byte im Sinne des C-Datentyps char zu machen, wäre nacheinander das jeweils höherwertige Bit aus dem Array (also index von 0 bis 7 laufen lassen) zu einem auf 0 vorinitialisierten char dazu zu addieren und achließend das
-
Thread
Was ist bzw. war Atmel QTouch?
ausgereizt ist, da ist noch viel reserve zur Empfindlichkeitserhöhung. QT-cycle.png: zyklische Abfrage alle 20 ms QT-pulse_chain.png: eine komplette Abfrage, man sieht eine Kette von 16 Impulsen QT-detail.png: einzelne Abfrage (Touch-Button berührt), offenbar wird die Touch-Elektrode erst auf Vcc
alles in der TinyTouchlib implementiert: https://github.com/cpldcpu/TinyTouchLib/blob/7eb7866e6f166f9c9668dcffd517c061258f035c/TinyTouchLib.c#L79
-
Thread
USB CDC von Stefan Frings und WS
UsbGetChar(void) [/c] 2. Dein UsbTxReady() check ist redundant, da er in [c] /* sendet ein Zeichen (d.h. schreibt es in den Tx-Buffer) */ char UsbCharOut(char c) [/c] sowieso passiert und möglicherweise das UsbGetChar
der USB-ISR, wo logEpBulkOut mit logEpBulkIn verwechselt wurde. Hier die Änderungen an der usb.c: https://github.com/Erlkoenig90/WSusb/commit/5bb8175989ea8c7576d8fb177c68260173a5924c#diff-3bf4bca9d530fc38765d8c9f1c0ae7c8 Bernd, kannst du prüfen ob es damit bei dir funktioniert?
-
Thread
iMX6 Board neu entwickeln
irgendwo Bugs drin sind. Mach Dir also ne Liste was da für Dich wichtig ist (z.b. USB-Host, UART, I2C, PWM,...) und teste Punkt für Punkt ob das funktioniert. Hier musst Du Dir auch Gedanken über die Alternate Functions der einzelnen Pins machen und wohin Du welche Pins routest. Daher würde ich mich
kann man halt keine Kundenanforderungen mit bezahlbarem Aufwand umsetzen. Alleine schon "eben mal in C++" ein PDF generieren oder eine HTTP-Abfrage machen wird da schon schnell sehr spannend (ohne Qt).
-
Thread
Brauche mal Hilfe bei Mikrobasic programm
18f4520 zur Datenausgabe an die Relaissteuerung einer R&S 'Eichleitung mit 9 bistabilen Relais an Bit 0-7 port D und Bit 1 Port E ' An Port C liegt ein 3x4 Tastenfeld 'An Port B ist das LCD-Display angeschlossen dim taste, ausgabe, dummi, wert, summe, kp, cnt as byte txt as char[5] ' Variablen
zusammengehören. PS: ist dir aufgefallen, dass du im then an Port D zuweist, beim else aber an Port C? Ist aber hinfällig, da es anscheinend bei diesem Basic ja eine Möglichkeit gibt, wie man sich beim DIM einzelne Bits am Port mit Namen versehen kann und dann in weiteren Code nur noch mit diesem Namen
-
Thread
pic18f2520 alternativer avr
sondern ganz normaler Alltag zigtausender die sich professionell oder auch nur halbprofessionell mit µC Programmierung beschäftigen... Und JA- ich gebe zu wenn man oft wechselt bleibt nicht immer die Zeit sich bei jedem einzelnen µC in alle Feinheiten einzuarbeiten. Das wichtigste wird sich angesehen
Zeit > sich bei jedem einzelnen µC in alle Feinheiten einzuarbeiten. Ein Problem der Moderne. Carsten Sch. schrieb im Beitrag #2097405: > Wenn ein Ing. der von seinem Arbeitgeber den Auftrag bekommt für einen > µC in einer
-
Thread
goto verpönt - was dann nehmen?
Peter II schrieb im Beitrag #4498950: > goto bei C (nicht C++) zur Fehlerbehandlung ist üblich und sinnvoll. Definitiv, hab ich auch gestern erst so für eine I2C Routine so genutzt. Da wurde zu erst ein Konfigurationsbyte ausgelesen, ein paar Bits
MCUA schrieb im Beitrag #4545622: >> Und wenn ich die Schritte der Sequenz in einzelne Funktionen aufteile.. > einzelne Funktionen kosten in der Regel jedoch viel mehr CPU-Rechenzeit Das mag vielleicht noch zutreffen, wenn man einen kleinen 8-Bit Mikrocontroller mit wenigen Registern
-
Thread
MSP430 Gleitkommazahl in Flash speichern
// Clear WRT bit FCTL3 = FWKEY + LOCK; // Set LOCK bit } [/c]
bit FCTL3 = FWKEY + LOCK; // Set LOCK bit } [/c] Übrigens - was sind eigentlich Compilerdirektiven?
-
Thread
Frequenzanzeige Spektrumanalyzer
: >> ( wenn auch mit nicht so hohen Anforderungen ). > > Dann achte darauf, daß er auch mit 64-Bit 'double'-Werten rechnet. > Viel Erfolg! werde ich ihm sagen. Er programmiert nur in Bascom. Assembler und C kann er nicht. Ralph Berres
jetzt nochmal berichten, wie das Projekt ausgegangen ist. Nach dem ich vor ein paar Wochen die Abfrage der Frequenzeinstellpotis grob und fein mit einen 12 Bit ADC realisiert hatte, wurde dann ein Unterprogramm entwickelt, welches beim drehen von einer der beiden Frequenzpotis eine Frequenz anzeigt
-
Thread
Fragen zu PWM
Registers temp mit der (Hexadezimal-) Zahl 10h (bitweise) ODER-verknüpft wird. Mit anderen Worten: Das Bit Nummer 4 in temp wird gesetzt (egal welchen Wert es vorher hatte), während alle anderen Bits im Register unverändert bleiben.
leuchtet eine LED genau dann, wenn der zugehörige Port Pin eine 0 aufweist. Also beginnt die PWM Abfrage damit, dass in einem Register einfach mal alle Bits (bis auf die obersten 2, die sind nicht benutzt) auf 0 gesetzt werden. Würde man diesen Registerinhalt so auf den Port ausgeben, dann würden
-
Thread
Windows 8 potthäßlich
wir einig. Die Struktur ist sinnvoll. Was nicht sinnvoll ist, sind sprachabhängige Namen für die einzelnen Zweige. "Eigene Dateien" heißt unter *nix traditionell ~ und wird von der Shell zum aktuellen Pfad expandiert - und das überall auf der Welt. Der erst relativ neue Ordner c:\users (oder so
schrieb im Beitrag #2906488: > Was nicht sinnvoll ist, > sind sprachabhängige Namen für die einzelnen Zweige. Siehe da, genau das wurde unter Vista abgeschafft. Uhu Uhuhu schrieb im Beitrag #2906488: > Der erst relativ neue Ordner c:\users (oder so ähnlich) ab Vista heißt > unter *nix
-
Thread
WizNet W5500 Probs als Webserver
jeweilige TX-Pointerwert (Der WR-Pointer) zufällig. Die Main-Schleife sieht wie folgt aus... [c] while (1) { WDT->WDT_CR = 0xA5000001; //REset Watchdog TFT_csabs(7,1); printf("%02X SR %02X SN %02X", server_client_available(), client_status(),client_get_sock()); [/c] Der
...Ergänzung: Beim W5100 habe ich die Zeichen einzeln ausgelesen und das beim W5500 auch so übernommen. Dies kostet Zeit..
-
Thread
Stoppuhr-Anfängerprojekt
/muß ich dann ja auch noch rechnen. Was wird alles schief gehen? Ich weiß, mir fehlen "etwas" die C-Grundlagen. Könnt ihr mir ein Buch über µC-Programmierung in C empfehlen? MfG
annehmen. Aber zu Doku Zwecken ist es immer gut explizit zu sein. > Ich weiß, mir fehlen "etwas" die C-Grundlagen. Könnt ihr mir ein Buch > über µC-Programmierung in C empfehlen? Über µc Programmierung an sich nicht. Aber das hat auch relativ wenig mit µC an sich zu tun. Das sind Dinge, die auf allen
-
Thread
Genesys 2 (Xilinx Kintex 7): Audio-Codec Implementierung und Filteranbindung
ich also die Bits für A? Das Vorzeichen ist das MSB, also das Bit 6 aus Byte 0. Das kann man abfragen durch Maskierung, es hat den Wert 64. Wir machen also eine AND Verknüpfung: Byte_0 & 64. Ist das Bit 6 gesetzt
-bit input: A data input .B(B), // 18-bit input: B data input .C(C), // 48-bit input: C data input .CARRYIN(CARRYIN),
-
Thread
ISE übersetzt irgend wie nur Mist
eine LED zum blinken gepracht ledclock: process begin wait until rising_edge(clk); if (c<24999999) then c <= c+1; else c <= 0; x <= not x; end if; end process ledclock; --hier wird der Takt für das weiterschalten der Segment Stelle generiert segclock: process
funktioniert in der Simulation, aber in der Synthese nicht! Verwende if rising_edge(clk) then > if (c<24999999) then > c <= c+1; > else > c <= 0; > x <= not x; > end if; end if; > end process ledclock; In diesem Prozess ein ganz böses Faul indem du hier den clock "segclk" verwendest