-
Thread
Zahlen über rs232 an Hyperterminal
dann schickst du genau diesen String zu Hyperterminal. Für Zahlen musst du daher zunächst auf dem µC alles in eine Textform bringen (itoa() oder sprintf()). Dann baust du entweder eine komplette Textzeile am µC zusammen und schickst die in einem Rutsch an HT oder du schickst die einzelnen Texte
Antworten. Eine Frage hätte ich noch: Welches Protokoll soll ich wählen, damit etwas zu meinem µC geschickt wird und dieser dann startet etwas zu senden und was schickt das HT bzw. das Protokoll (was muss ich im Programm des µC abfragen? if (empfangen) start_senden = 1; Vielen herzlichen
-
Thread
Ich suche eine schnelle Lösung für eigenes delay_us
des generierten Signals sollte möglichst nahe bei den 10Bit liegen. Da ich den Timer1 schon zum Ermitteln der Zeiten der einzelnen Kanäle verwende, kann ich leider nicht mit output compare arbeiten. Ich weis dass es solche Wandler schon zu kaufen gibt.
leben kannst, da du ja mit 8MHz taktest. du kannst im interrupt zwei counter inkrementieren: in c: a++;b++; dann abfragen, ob a == HI-zeit/auflösung und ob b == LOW-zeit/auflösung pin ensprechend toggeln verstanden?
-
Thread
PIC16F871 - Software f. Kicker ! Hilfe!
#pragma config |= 0b.11.111101.11.00.10 #define LCD_RS 0b.00000001 //RS-Pin ist Bit0, LCD Register Select #define LCD_CS 0b.00001000 //E-Pin ist Bit3, LCD Chip Select #pragma char PORTQ @ PORTD //PORT auswählen, DB7-Bit7, DB6-Bit6, DB5-Bit5, DB4-Bit4, #include
ein MAX202 aber kein CAN-Transceiver vorhanden ist. Du solltest dir dazu mal das Datenblatt des T89C51RD2-3C angucken.
-
Thread
8051 carryflag
; Wait Startwert = 1 ,1x 5ms dieser wird im timer 0 dekrementiert CLR C ; Carryflag wird gelöscht im Register PSW MOV A, R0 ; Werte von Port 2 werden in Akku geladen ANL A, #0Fh ; ---- FFFF : höherwertige bits von port 2 werden ausgeschaltet
Du hast übrigends auch einen Bufferoverflow, nämlich einen Stackoverflow: [c] read: ... CALL check ... check: ... JMP read [/c]
-
Thread
STM32F405 int64_t lehren
Detlef _. schrieb im Beitrag #4793417: > Der STM32F405 kann keine 64Bit ints' nativ rechnen, der braucht dafür ne > Software lib, die muss irgendwo her kommen. Das ist dann die Runtimelibrary Deines C-Compilers.
Rufus Τ. F. schrieb im Beitrag #4793420: > Detlef _. schrieb: >> Der STM32F405 kann keine 64Bit ints' nativ rechnen, der braucht dafür ne >> Software lib, die muss irgendwo her kommen. > > Das ist dann die Runtimelibrary Deines C-Compilers. Ja. Erwische ich da die richtige?
-
Thread
Benchmark für Arduino-Boards?
272406088151?hash=item3f6cab09d7:g:IusAAOSwpLNX-SRr >Ich bestelle mir nun in China ein 2-Euro Board mit 32-Bit Controller: >Arduino IDE kompatibles Board STM32 STM32f103C8T6 ST ARM 32-bit Cortex >-M3 Das hat nur 72Mhz statt 168Mhz, deutlich weniger RAM ist ein M3 statt M4 und hat deshalb keine FPU.
Jürgen S. schrieb im Beitrag #4998648: > Ich bestelle mir nun in China ein 2-Euro Board mit 32-Bit Controller: > > Arduino IDE kompatibles Board STM32 STM32f103C8T6 ST ARM 32-bit Cortex > -M3 > > Und dann schaue ich mal, wie ich das in die Arduino-IDE eingebunden > bekomme, und was die Benchmarks
-
Thread
Ich suche einen "etwas anderen" C-Compiler Gesperrt
Peter II schrieb im Beitrag #3526328: > warum sollte das in C nicht genauso gehen? Weil C nicht korrekt auf den Taktzyklus genau eine 16-bit-Konstante auf den aktuellen unbekannten Timerwert aufaddieren kann, ohne daß es zu Fehlern kommt.
UART mit hoher Datenrate und eine selbst definierte synchrone serielle Schnittstelle) von einem 8-Bit-µC mittels priorisiertem Interrupt gleichzeitig bedient. Ich glaube nicht, dass ich es auch in C hinbekommen hätte.
-
Thread
Nimm PIC's
, was hat Atmel denn noch so alles implementiert. Bis ich herausgefunden habe, dass z.B. für die Abfrage jedes der einzelnen Bits im Statusregister ein eigener "Befehl" zur Verfügung steht. SO kann man die Befehlszahl auch aufblähen. Die PICs sind nicht schlecht, wenn nur nicht dieses blöde 'Banking'
RAM Banking hat (wie alle anderen auch) nicht nur eine (negative) Seite. Erstens benötigt man nur 8 Bit zur direkten Adressierung (spart Platz im immediate Teil des Codes) und zum anderen gibt es ja immerhin noch 3 fsr-pointer zur indirekten Adressierung. Wer in C programmiert kriegt davon aber sowieso
-
Thread
FM Radio Modul RDA5807M
freqL = (freq_tmp&3)<<6; // Shift channel selection for matching register 0x03 i2c_start_wait(FM+I2C_WRITE); i2c_write(0x03); i2c_write(freqH); // write frequency into bits 15:6, set tune bit i2c_write(freqL + 0x10); i2c_stop(); } [/c] EDIT
freqL = (freq_tmp&3)<<6; // Shift channel selection for matching register 0x03 i2c_start_wait(FM+I2C_WRITE); i2c_write(0x03); i2c_write(freqH); // write frequency into bits 15:6, set tune bit i2c_write(freqL + 0x10); i2c_stop(); } [/c] Danke
-
Thread
Kl. Problem Pulsein Bascom
NurGast schrieb im Beitrag #6545114: > Und wo finde ich das Err-Bit? Einfach mit "If Err" abfragen. Es ist Standartmäßig vorhanden. Physikalisch ist es Bit 2 von R6 Dennoch unklar wo der Fehler herkommt? Ist es die gleiche Abweichung wenn der Puls länger ist? Oder
schrieb im Beitrag #6545121: > NurGast schrieb im Beitrag #6545114: >> Und wo finde ich das Err-Bit? > > Einfach mit "If Err" abfragen. Es ist Standartmäßig vorhanden. > Physikalisch ist es Bit 2 von R6 > Dennoch unklar wo der Fehler herkommt? Ist es die gleiche Abweichung > wenn der Puls
-
Thread
Allgemeine Fragen zu Eigenbau-libc
da. Der Standard fordert, dass der delete operatur mit NULL Zeigern umgehen können muss. Diese Abfrage kann der Compiler wegoptimieren, wenn er den Zeiger irgendwo weiter vorne dereferenziert hat. [c] class ABC { void *p; public: ~ABC(); ABC(); void dosomething(); }; void
nachträglich nicht mehr abschaffen, > aber den nullptr kann man wengistens trotzdem einführen. [c] // In C ist NULL meist: #define NULL (void*)0 // In C++ #define NULL 0 [/c] In C ist 0 also vom Type void* und damit ein Zeigertyp mit sauberer Trennung. C++ kann aber einen void* nicht auf
-
Thread
Z180-Stamp Modul
Leo C. schrieb im Beitrag #4321774: > Das läßt sich wohl kaum noch was beschleunigen. Der VNC2 kennt noch einen 8 Bit FIFO-Mode. Hier sollen laut einiger Forumnutzer ca. 65 KBaud möglich sein. Vielleicht
beim Bearbeiten nun 3 Mal das Selbe geschrieben das aber nicht im Text auftaucht, also hier nochmal einzeln. Ich würde es für besser halten ein CP/M Programm zu haben das die Zuordnung der Images zu den Drives bewerkstelligt (assign "BDS-C1.dsk" "C") und evtl. ein Programm das das Inhaltsverzeichnis
-
Thread
UP - DOWN Taster Entprellung mit Timer
) { ClearBit(ucTimeControl,b10msTimer); if(CheckBit(ucTimeControl,b10msOvr)) { SetBit(ucTimeContrl,b10msTimer)); } } [/c] Einziger vernachlässigbarer Nachteil ist dabei, dass ich einen kompletten
gemacht. was bei dir noch fehlt ist, das ucCounter zurückgesetzt wird wenn Taste nicht gedrückt. [c] if(CheckBit(PORTD,0) { ++ ucCounter; } else ucCounter=0; [/c] @ t3sla wenns in der ISR sein soll und zwei Tasten, dann (etwas abstrakter) so [c] ISR() { if (Key1down()) Key1Counter
-
Thread
Frage zur Signal-Abtastung
Abtastwerte zu nehmen. Ich Taste das Signal nun 512 mal nach dessen Start ab, und schiebe die jeweiligen Bits des Impulszuges nun in ein Feld vom Typ long. Ich erhalte also 16 Felder zu je 32 Bit = 512 Werte. Das klappt auch und ich kann mir die einzelnen Felder auch am PC anzeigen lassen. Leider mußte ich
Betätigung derselben Taste unterschiedliche Werte gesentet werden, ist möglich. Das sogenannte Toggle-Bit wechselt dann nach jedem Tastendruck. Daran erkennt der Empfänger, ob eine Taste _wieder_ gedrückt wurde, oder ob sie _immer noch_ gedrückt wird. Allerdings sollte sich nur 1 Bit ändern. Andreas
-
Thread
Hex Wert -> Dezimal an LCD ausgeben
Da der AVR ein 8Bit-µC ist muß man eine 16Bit-Subtraktion aus 2 8Bit-Subtraktionen machen was dank des Carry-Bits (Überlauf) einfach möglich ist. subi r28,low(-10000) sbci r29,high(-10000) "SBCI" (sub immediate
. Der µC ließt die db Adresse einzeln aus und speichert sie sofort ins S-Ram. 0x0060 ist der Startwert des LCD's. Den Idle-Modus hab ich auch aktiviert... Wußte garnicht daß das geht. Ich dachte, der µC wacht
-
Thread
Blutzucker-Messgerät Hardware OLED Display
schon von tinman (Vielen Dank!) berichtet der OLED-Controller. PD1 - SDIN PD4 - SCLK PC1 - D/C (1=Data,0=Command) PC2 - RESET (0=RESET) PB1 - ICS (0=Device selected) Dann fehlen nur noch die zwölf Volt, also dann: PD5 - DC/DC - Converter Enable (1=12 Volt) Möchte man die Tasten abfragen
nach unten ein, eben so wie man hierzulande liest. Hat man das Bild fertig konvertiert man es in C-Code wie folgt: fontcreator -c -min <asciicode> -bits 4 <bmpfile> <fontfile> <asciicode> ist der kleinste im Font vorkommende ASCII-Code, bei vollständigen Fonts also meist das Leerzeichen (32)
-
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