Als «c» getaggte Fragen

C ist eine zwingende (prozedurale) Systemimplementierungssprache. Es wurde entwickelt, um mit einem relativ einfachen Compiler kompiliert zu werden, um einen einfachen Zugriff auf den Speicher zu ermöglichen, um Sprachkonstrukte bereitzustellen, die Maschinenanweisungen effizient zuordnen, und um eine minimale Laufzeitunterstützung zu erfordern. C war daher für viele Anwendungen nützlich, die zuvor in Assemblersprache codiert waren. von http://en.wikipedia.org/wiki/C_(programming_language)

3
Was bestimmt sizeof (int)
Wie groß ist eine Ganzzahl in ATmega-Controllern in Bezug auf die Standarddatentypen? Und was bestimmt die Größe, ist es nur der Compiler? Oder liegt es am Hardware-Design des Controllers selbst und daher müssen sich alle ATmega-Compiler an diese Größe halten? Und wenn es sich um die Hardware handelt, wie kommt …


3
Das MSP430-Programm funktioniert nur im Debug-Modus
Ich versuche, die Werte vom ADC auf meinem MSP430F5529 abzurufen und über USB an meinen Computer zu senden, aber ich fange klein an. Alles, was ich gerade habe, ist etwas, das den ADC-Wert abruft und in ADCResults speichert. Wenn der Lesewert mehr als die Hälfte von Vcc beträgt, leuchtet eine …
7 adc  c  msp430 

4
Mein erster STM32-Code - bitte kritisieren Sie mich
Ich habe gerade meinen ersten Code auf STM32 geschrieben - blinkende LED. Es kombiniert Fragmente aus verschiedenen Quellen; Bitte kritisieren Sie mich, damit ich lernen kann, wie man richtigen Code schreibt und keine dummen Gewohnheiten lernt. #include "stm32f30x.h" void SysTick_Handler(void); void TimingDelay_Decrement(void); void Delay(__IO uint32_t nTime); static __IO uint32_t TimingDelay; …

1
Werden Zeiger in AVR anders behandelt als beispielsweise x86?
Mikrocontroller: ATtiny13 IDE: Atmel Studio Ich versuche, eine Hello World-Anwendung zu schreiben, indem ich High an Port PB4 schreibe. Das funktioniert gut: int main(void) { DDRB = 0x10; PORTB = 0x10; while(1) { } } Bei der Definition von DDRB und PORTB zeigen sie erwartungsgemäß auf 0x17 und 0x18. Dies …
7 avr  c 


1
Implementierung der MIPI RFFE-Software
Ich versuche derzeit, das MIPI RFFE-Protokoll (als Master) auf einem einfachen AVR-Mikrocontroller zu implementieren. Die technischen Daten besagen, dass die Taktfrequenz auf 32 kHz sinken kann. Ich denke, dies sollte möglich sein, um es auf diese Weise zu implementieren. Es scheint jedoch nicht zu funktionieren. In der folgenden Abbildung ist …
7 avr  rf  c  antenna  protocol 

3
Strategien zur Verwaltung der Codegröße - PIC18 XC8
Ich bin neu in der Embedded C-Entwicklung und suche nach allgemeinen Prinzipien / Richtlinien für die Verwaltung der Größe des generierten Codes. In meinem speziellen Beispiel verwende ich XC8 auf einem PIC18F4550. Mein Code belegt bisher etwa 13% des Speicherplatzes. Sobald ich "time.h" und 1/2 Funktionen davon benutze, springt die …
7 pic  c  xc8 

4
Bit-Typ für die AVR-Mikrocontroller-Programmierung
Ich habe einen Code für den 8051-Mikrocontroller geschrieben, in dem ich den Bittyp verwendet habe, ungefähr so: static bit done_flag = 0; /* bit variable */ bit testfunc ( /* bit function */ bit flag1, /* bit arguments */ bit flag2) { . . . return (0); /* bit return …
7 c  avr-gcc 

1
Welcher SPI-Modus soll verwendet werden?
Ich verbinde einen 23LC1024 SPI Serial SRAM mit einem PIC18, indem ich den C18-Compiler und die integrierten Funktionen verwende, <spi.h>wie in den Compiler-Bibliotheken , Abschnitt 2.8 beschrieben: OpenSPI1 - Initialisieren Sie das SSP x- Modul. void OpenSPI1( unsigned char sync_mode, unsigned char bus_mode, unsigned char smp_phase); Für bus_modekann ich einen …
7 pic  c  spi  sram  c18 

2
Überlauf mit C18 erkennen
Ich implementiere einen Taschenrechner in einem Mikrocontroller, der über die serielle Schnittstelle gesteuert wird. Zum Beispiel würde ich senden 1234*5678=und es würde mit antworten 7006652\r\n. Ich habe den Code dafür mit dem C18-Compiler geschrieben. Wenn ich sende 123456*789123=, erhalte ich die Antwort 2932688576, die falsch ist. Die richtige Antwort wäre …
7 pic  c  software  c18 

3
Vom PIC-Compiler von MicroChip erzeugte Fremdschleife
Wir verwenden die Lite-Version des MicroChip PIC-Compilers. Vielleicht ist das der Grund, aber diese einfache Ein-Bit-Verschiebung erzeugt eine Schleife, in der keine erforderlich ist. Da die Verschiebungszahl 1 (eine Konstante) ist, würde ich erwarten, dass der Compiler keine Schleife erstellt - eine elementare Optimierung. Gibt es einen Compiler-Optimierungsschalter, der die …

2
Berechnung eines einfachen CRC
Im Datenblatt für den ET1200 EtherCAT ASIC (Seite 94) wird mir mitgeteilt, dass ich eine CRC einiger der 16-Bit-Daten in seinem EEPROM berechnen muss. Die einzige Beschreibung dieses CRC lautet: Das niedrige Byte [von Wort 7] enthält den Rest der Division von Wort 0 zu Wort 6 als vorzeichenlose Zahl …
7 c  crc  ethercat 

6
Wo werden statische Variablen gespeichert?
Angenommen, ich verwende einen 8051. Ich habe einen Code kompiliert, der eine statische Variable enthält. Wo wird diese statische Variable gespeichert? Im RAM? Im Stapel? Auf dem Haufen? In Flash? Wo? Korrigieren Sie mich auch, wenn ich falsch liege: CONST werden im ROM gespeichert. Und globale Variablen werden in Flash …
7 embedded  c 

2
Rückrufe für Interrupts definieren
Ich arbeite mit einem STM32 und bin etwas verwirrt über Interrupts, insbesondere die Nested Vectored Interrupts (NVI). Soweit ich weiß , gibt es einen NVI- Vektor (NVIC genannt), bei dem jeder Interrupt eine Priorität (manchmal einstellbar) und eine Adresse hat (siehe Seite 157 des ARM-Referenzhandbuchs hier ). Jetzt gehe ich …
7 arm  c  interrupts  stm32 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.