¿Qué es el error en el código C para AVR? [cerrado]

-5

Cuando escribimos el código C, el compilador puede diagnosticar ciertos errores.

¿Cuál es la diferencia entre estos errores y errores? ¿Cómo podemos reconocer los errores?

¿Pueden funcionar los errores de frecuencia de funcionamiento?

¿En el mundo de la programación de AVR, los errores son un problema serio? (No he encontrado ningún error en mi código todavía: |).

    
pregunta musefian

3 respuestas

3

Un "error" es una pieza de circuito o software que no funciona como pretendía el autor o el diseñador. Generalmente se refiere a la causa de que algo salga mal, pero no todos los errores son malos. A menudo, los efectos secundarios inesperados, que son literalmente según esa definición, "errores", se denominan "características no documentadas".

Un error en el hardware puede tomar muchas formas, desde errores durante la fabricación (pistas puenteadas, por ejemplo), componentes seleccionados incorrectamente (valores incorrectos, tolerancias incorrectas), etc., o desde el fabricante de un dispositivo que comete errores (usted debería leer algunas de las hojas de datos de "erratas de silicio" de algunos de los fabricantes de chips).

Un error en el software generalmente depende del programador, ya sea que no tenga todos los conocimientos necesarios para crear el programa de manera confiable (no se haya capacitado adecuadamente, no se proporcionaron todos los detalles, etc.) o se realizó un mantenimiento sucesivo por parte de múltiples partes, cada una de las cuales no comprende completamente. los efectos que sus cambios tienen en el sistema en su conjunto.

Está bastante garantizado que cualquier programa más complejo que una simple luz parpadeante (especialmente cualquier cosa que tenga alguna forma de interacción humana) tendrá errores en alguna forma. Algunos son tan pequeños que no se notan, pero otros son claramente obvios.

No hay ningún sistema informático en el mundo que esté libre de errores, a menos que cuentes los que nunca se activan.

Los errores más comunes que encuentro en el reino de Arduino se deben a que el programador no entiende el lenguaje de programación. Algunos ejemplos clásicos:

  • Almacenar un valor > 32767 en un entero con signo (16 bits).
  • Arreglos desbordados (suponiendo erróneamente que char [4] da los segmentos 0-4).
  • Usar = (asignación) en lugar de == (igualdad) en las comparaciones.
  • Error al terminar las cadenas correctamente (terminación nula).
respondido por el Majenko
2

Un compilador informará cosas en su programa que violen las reglas del idioma, en C, tales como puntos y coma que faltan, variables indefinidas (o mal escritas), generalmente cualquier cosa que impida que el compilador compile correctamente el programa. Si el compilador no informa ningún error, solo significa que su código fuente cumple con las reglas del idioma y no indica que el programa realmente se ejecutará, o hará lo que quiera.

Los errores son errores en la lógica de tu programa que hacen que haga algo diferente a lo que quieres. Solo puedes encontrar errores probando el programa.

    
respondido por el Peter Bennett
1

La cantidad de errores que podría introducir en su código probablemente superará la cantidad de errores de tipo de sintaxis que el compilador puede detectar en más de 10000 :: 1.

Un error en su código es cualquier error en la lógica del programa que hace que el sistema se comporte de forma distinta a la esperada o deseada.

Hay incluso 1000 errores de tipo muy simple que se cometen comúnmente como estos tres ...

1) Escribir un bucle que modifique la variable de control del bucle de tal manera que el bucle nunca termine ... o repita el número incorrecto de veces.

2) Configuración para acceder o modificar los datos a los que apunta una variable de puntero que tiene un valor NULL sin inicializar.

3) Acceder a los elementos de una matriz que van más allá de la longitud asignada de la matriz.

¡Buena suerte en la depuración!

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas