Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo mejorar las habilidades de programación en lenguaje C del microcontrolador? ¡Quiero orientación experta! Sé un poco sobre hardware, pero quiero desarrollarme en la dirección de programación. Me gustaría recibir orientación de expertos.

¿Cómo mejorar las habilidades de programación en lenguaje C del microcontrolador? ¡Quiero orientación experta! Sé un poco sobre hardware, pero quiero desarrollarme en la dirección de programación. Me gustaría recibir orientación de expertos.

Para alcanzar el nivel descrito en el cartel, solo hay dos métodos prácticos: uno es practicar más y hacer un proyecto más grande, el otro es mirar algunos buenos ejemplos en línea. Incluso si ya ha realizado un proyecto, el enfoque es. ¡No en su implementación funcional, sino en las características y estructura del programa fuente! Los individuos pueden centrarse en el algoritmo. Otra forma es aprender algunos cursos básicos obligatorios para estudiantes de software y comprender la forma de pensar en la programación de software. Esto puede requerir algo de esfuerzo y el impacto es sutil. Si no estás involucrado en software puro, personalmente creo que no. Necesito aprenderlo.

La capacidad de programación en lenguaje C no se refleja completamente en la eficiencia de escritura y ejecución del código. Nota: Esto no es del todo cierto. Lo que se mejora en este aspecto es la capacidad de pensamiento lógico del individuo y otros niveles de conocimiento. Por ejemplo: si te pidieran que escribieras una función que implemente el valor de la función trigonométrica inversa arctan, ¿qué harías? Si no sabe cómo utilizar la expansión de secuencia, no sabrá cómo empezar. De hecho, esta es una prueba de tus habilidades matemáticas. Por lo tanto, las mejoras en esta área son integrales y no pueden discutirse en detalle.

Creo que las áreas que se pueden mejorar se reflejan en los siguientes aspectos. Si estos aspectos se hacen bien, también se puede decir que tienes capacidades de programación considerables.

1. Gestión de la versión del software: para cualquier software, el número de versión del software debe actualizarse cada vez que se modifica y lanza. Esto es especialmente crítico después del trabajo. En este sentido y no hago mucho, 3 o 4 versiones se quemaron.

2. Múltiples comentarios en el programa fuente: como descripción de la función, descripción del parámetro de entrada, descripción del valor de retorno, requisitos de llamada, fecha de finalización, etc. Además, también se deben anotar las descripciones de los algoritmos clave. Como dice el refrán: Una buena memoria es peor que una mala escritura. No confíes demasiado en tu propia inteligencia.

3. Programa fuente de gestión de proyectos: por ejemplo, para algunas constantes, direcciones de interfaz, definiciones de tipos de datos (typedef), definiciones de estructuras de datos, declaraciones de funciones personalizadas, etc., se deben crear archivos .H separados cuando escribiendo y luego incluido en otros archivos .C. Si el archivo C del software es grande, intente crearlo por separado según la función y luego inclúyalo en el proyecto.

4. A veces, una pieza de software apunta a diferentes tipos de equipos. En este momento, se deben usar declaraciones de control de compilación como #ifdef para distinguirlos y, para facilitar la depuración, a veces es así. Es necesario asignar valores iniciales a ciertos estados o variables, pero la versión oficial no puede, este método también se puede utilizar para facilitar la gestión de áreas que no son propensas a errores. Esta parte debe colocarse en el archivo .H presentado anteriormente.

5. Utilice tantas funciones como sea posible, para que la modularidad sea sólida y la función también se pueda ver a través del nombre de la función, lo que facilita la lectura del código. El ejemplo más simple es Delay(), que suelen utilizar los principiantes. Sin embargo, no vayas demasiado lejos, A=B C no es necesario.

6. Respecto a algunas constantes y direcciones, es mejor usar #define para reemplazarlas con caracteres en inglés y colocarlas en el archivo .H. De esta manera, si desea cambiarlas, solo debe hacerlo. Es necesario cambiar un lugar. Conveniente y no se lo perderá. Por ejemplo, valor de recarga del temporizador:

#define C_TH0_50MS (65536-50000)/256

Si necesita cambiar el oscilador de cristal, simplemente cámbielo aquí.

Lo anterior se centra en todo el aspecto del software. Aquí hay algunas precauciones específicas. No es sistemático ni organizado. Básicamente, son algunas especificaciones, y las especificaciones también representan niveles:

1. Declaraciones de juicio lógico con muchas ramas: todos los juicios en desarrollo deben escribirse y no es necesario escribir dichas declaraciones. Incluyendo if, switch, por ejemplo

if (i==4)

{....}

//else if igt; p >

//else ilt; 4

Si no se utiliza la parte else, escríbala y márquela.

Esto le ayuda a garantizar el tipo estricto del programa y también ayuda a solucionar problemas

2. Denominación de constantes, variables, funciones, puertos, etc.: (No tenga el mismo nombre de variable global y nombre de variable local Aunque esto está permitido en lenguaje C) Las reglas que uso personalmente son las siguientes

Variables globales: el tipo tiene un significado práctico de una frase o pinyin, donde cada palabra en la frase o pinyin está en cada palabra. en la frase o pinyin La primera letra de una palabra debe estar en mayúscula.

Por ejemplo: iSecondCount: la segunda variable de conteo de tipo int

Variables locales: todos los caracteres en minúsculas, las variables de conteo de bucles pueden usar i, j, k, n, etc., que son personajes sin sentido. Es mejor no utilizar caracteres utilizados para números hexadecimales, como a, b, c, etc.

Portados: todo en mayúsculas, use frases significativas o pinyin y use _ como separador. Por ejemplo, KEY_COM

Constante: agregue "C_" al frente, es mejor agregar "_" entre cada palabra, como en el ejemplo anterior, C_TH0_50MS

Función: similar a variables globales, solo que sin un especificador de tipo delante. Como Timer0, Delay, DelayMs.

3. Intente no utilizar /* */ para los caracteres de comentario en el programa fuente, pero utilice //. Una parte grande del programa, úsela una vez. /* */ está bien; de lo contrario, es posible que deba modificarse en muchos lugares, lo cual es problemático.

4. En términos de formato, preste atención a la sangría, especialmente para juicios de varios niveles. Además, incluso si el cuerpo del archivo ejecutable tiene solo una oración, trate de no ignorar las llaves en algunos lugares, por ejemplo:

if (agt; 4)

{

a ;

}

else

{

a=0;

}

5,................................ Hay muchos más que no puedo recordar a la vez. Puedes experimentarlo y resumirlo tú mismo.

Hay muchas formas de demostrar tu capacidad, como por ejemplo si tu búsqueda de empleo va según lo planeado. Mire a las personas y los detalles. Si desarrolla los hábitos anteriores al programar, no importa cuál sea su nivel real, significa que tiene una actitud correcta. Bajo la premisa de que el nivel de coeficiente intelectual de todos es aproximadamente el mismo, ya sea público o privado. , si yo fuera el jefe, te elegiría a ti, no dudes en dejarte la tarea a ti.

Pruébalo primero, es más fácil decirlo que hacerlo. Yo mismo lo he estipulado, por lo que mi nivel de ejecución solo llegará a 70.