Preguntas etiquetadas con c

C es un lenguaje de implementación de sistemas imperativo (de procedimiento). Fue diseñado para compilarse utilizando un compilador relativamente sencillo, para proporcionar acceso de bajo nivel a la memoria, para proporcionar construcciones de lenguaje que se mapeen eficientemente a las instrucciones de la máquina, y para requerir un soporte mínimo en tiempo de ejecución. Por lo tanto, C fue útil para muchas aplicaciones que anteriormente se habían codificado en lenguaje ensamblador. de http://en.wikipedia.org/wiki/C_(programming_language)

8
¿Por qué es malo printf () para depurar sistemas embebidos?
Supongo que es malo intentar depurar un proyecto basado en microcontrolador usando printf(). Puedo entender que no tiene un lugar predefinido para la salida, y que podría consumir pines valiosos. Al mismo tiempo, he visto a personas consumir un pin UART TX para enviar al terminal IDE con una DEBUG_PRINT()macro …
16 c  debugging 

3
De C a la Asamblea
Supongamos que tenemos el siguiente código C para un avr-8bit: int v1=1; int v2=2; v2=v2+v1; Esperaba el siguiente desmontaje ldi r18, 1; ldi r19, 2; add r19, r18; pero después corrí: avr-gcc -mmcu=atmega2560 Test.c -o Test.elf y avr-objdump -S Test.elf > Test.lss Tengo el siguiente desmontaje ldi r24, 0x01 ; …
16 avr  c  assembly 

1
Generación de señal sinusoidal utilizando PWM
No podemos generar una señal sinusoidal correctamente utilizando un microcontrolador MC68HC908GP32 . La descripción de PWM comienza en la página 349. La frecuencia del reloj es de 2.4MHz, mientras que hemos usado PWM de 7 kHz usando el preescalador y configurando el módulo del temporizador a 350 de la siguiente …
16 microcontroller  c  pwm 


4
Cómo implementar secciones críticas en ARM Cortex A9
Estoy transfiriendo un código heredado de un núcleo ARM926 a CortexA9. Este código es baremetal y no incluye un sistema operativo o bibliotecas estándar, todo personalizado. Tengo una falla que parece estar relacionada con una condición de carrera que debería evitarse mediante una sección crítica del código. Quiero algunos comentarios …
15 c  embedded  interrupts 

3
Promoción de enteros C en MCU de 8 bits
Usando avr-gcc como ejemplo, los tipos int se especifican para tener 16 bits de ancho. La realización de operaciones en operandos de 8 bits en C da como resultado que esos operandos se conviertan en tipos int de 16 bits debido a la promoción de enteros en C. ¿Esto significa …
14 microcontroller  avr  c 



3
Declaración variable con @ en C
Estoy leyendo un código C y encontré esta declaración en el programa: unsigned char serv_ctr @0x0002; ¿Puede alguien indicarme la documentación o explicar para qué sirve "@ 0x0002" en el compilador Mplab XC8 v1.35 C?
11 c  embedded  mplabx  xc8  variable 

4
Problema endian en STM32
Estoy usando arm gcc (CooCox) para programar un descubrimiento STM32F4, y he estado luchando con un problema endian Estoy muestreando con un ADC de 24 bits a través de SPI. Como están llegando tres bytes, MSB primero tuve la idea de cargarlos en una unión para hacerlos (¡esperaba, de todos …
11 c  stm32  cortex-m  gcc 

2
Programe AVR EEPROM directamente desde la fuente C
Cuando incluye el siguiente código en una fuente AVR C, aparentemente puede programar directamente los fusibles, sin la necesidad de un comando adicional o un archivo .hex: #include <avr/io.h> FUSES = { .low = LFUSE_DEFAULT , .high = HFUSE_DEFAULT , .extended = EFUSE_DEFAULT , }; ¿Hay algún truco similar para …
11 avr  c  attiny  eeprom 

3
Condición de carrera de sueño del microcontrolador
Dado un microcontrolador que ejecuta el siguiente código: volatile bool has_flag = false; void interrupt(void) //called when an interrupt is received { clear_interrupt_flag(); //clear interrupt flag has_flag = true; //signal that we have an interrupt to process } int main() { while(1) { if(has_flag) //if we had an interrupt { …



1
¿Cuál es la velocidad de respuesta para I2C?
Estoy configurando I 2 C en un PIC18 usando las funciones integradas del compilador C18 como se describe en la sección 2.4 de la documentación : void OpenI2C2( unsigned char sync_mode, unsigned char slew ); No estoy seguro de qué debería hacer slew. Puedo elegir entre dos opciones, definidas en …
10 pic  c  i2c  software  c18 

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.