Notas de estudio | Parpadeo de LED basado en retardo | Programación modular | Luz de socorro SOS | Video tutorial de desarrollo del microcontrolador STC32G (Hermano Chong) | Episodio 6 (Parte 2): Realización del parpadeo de LED

2 Uso de funciones

En la programación modular, el uso de funciones se divide en los siguientes tres pasos:

1. Definición de función (requiere tipo)

Valor de retorno Nombre de la función (parámetro de entrada)
{ Función que realizará la función } @Valor de retorno: ningún valor de retorno es nulo @Nombre de la función: evite palabras clave (azul en IDE), no se pueden usar repeticiones, caracteres no especiales @Enter parámetros: tipo + nombre, múltiples parámetros separados por ",", escriba void si está vacío




2. Declaración de función (requiere tipo)

Nombre de la función del valor de retorno (parámetro de entrada);

3. Llamada de función

Nombre de la función (parámetro de entrada); al llamar, solo necesita ingresar parámetros, no se requiere ningún tipo.

3 Cree un nuevo archivo y use programación modular

Crear nuevos archivos xxx.c y xxx.h

Cree nuevos archivos xxx.c y xxx.h, que representen un bloque de funciones. Se recomienda la correspondencia uno a uno.
Haga clic en Nuevo. De forma predeterminada, aparecerá un archivo de texto. El tipo de archivo no está definido. Haga clic en Guardar para guardarlo como math.c y guardarlo como math.h:
Insertar descripción de la imagen aquí

formato xxx.h:

#ifndef __XXX_H
#define __XXX_H
agrega un formato de coincidencia fijo a math.h.

Archivo de encabezado de llamada

Declaración de función…
#endif

formato xxx.c
#incluye
definición de función "xxx.h"

Código de verificación

matemáticas.h:

#ifndef __MATH_H  //if not define
#define __MATH_H

int Add(int parm1,int parm2);

#endif

matemáticas.c:

int Add(int parm1,int parm2)
{
	return   parm1 + parm2;
}

Agregue una referencia a main.c: #include "math.h".

transferir:

Al agregar archivos, asegúrese de recordar hacer referencia a la ruta y agregarlos al proyecto.
Insertar descripción de la imagen aquí
Guarde todo, haga doble clic en el ícono, agregue math.c al proyecto,
Insertar descripción de la imagen aquí
la compilación se completa y se descarga automáticamente a la placa de desarrollo. Abra la herramienta del puerto serie CDC, borre el área de datos, envíe los datos y obtenga el valor impreso:
Insertar descripción de la imagen aquí
al hacer esto, el código de la función principal es muy limpio, lo cual es conveniente para la gestión y organización de proyectos grandes.

La estructura completa del archivo es la siguiente:

Insertar descripción de la imagen aquí

Código de verificación 2

matemáticas.h:

#ifndef __MATH_H  //if not define
#define __MATH_H

int Add(int parm1,int parm2);  //parm1+parm2
int Sub(int parm1,int parm2);  //parm1-parm2
int Mul(int parm1,int parm2);  //parm1*parm2

#endif

matemáticas.c:

#include "math.h"

int Add(int parm1,int parm2)
{
	return   parm1 + parm2;
}

int Sub(int parm1,int parm2)
{
	return   parm1 - parm2;
}

int Mul(int parm1,int parm2)
{
	return   parm1 * parm2;
}

Llamado en main.c:

			printf("add(10,20)计算结果为: %d\r\n",Add(10,20));+

			printf("sub(5,2)计算结果为: %d\r\n",Sub(5,2));

			printf("Mul(5,6)计算结果为: %d\r\n",Mul(5,6));

Ejecutar normalmente.
Insertar descripción de la imagen aquí

Resumir

1. Familiarícese con el proceso del bucle while
2. Aprenda a usar funciones (definición, declaración, llamada)
3. Aprenda a crear nuevos archivos, agregar rutas de archivos y agregarlos a proyectos

Ejercicio después de clase: programación de luces de socorro SOS

Principio de la señal de socorro

Fuente: Asking Knowledge: ¿Cómo se expresa SOS con luces?
Tres cortas, tres largas y tres cortas
SOS es una señal de socorro universal en el mundo. Si se representa con una señal luminosa, tres luces cortas representan la letra S, tres largas Las luces representan la letra O, y luego las siguientes tres luces cortas representan la S.
El tiempo de iluminación largo de la luz es tres veces el tiempo de iluminación corto, y el tiempo de iluminación corto es el mismo que el intervalo entre dos tiempos de iluminación del LED. También hay un intervalo de apagado de tres veces el tiempo de iluminación corto entre una letra. y la siguiente letra.

Código de muestra

		//S
		while( time < 4 )
		{
		 P22 = 0; //设置低电平	(屠龙刀三板载led)
		 P24 = 0;
		 delay_ms(500);
		 P22 = 1; //设置低电平	(屠龙刀三板载led)
		 P24 = 1;
		 delay_ms(500);
		 time++;
		}
		delay_ms(1000);
		time = 1;
		//O
		while( time < 4 )
		{
		 P22 = 0; //设置低电平	(屠龙刀三板载led)
		 P24 = 0;
		 delay_ms(1500);
		 P22 = 1; //设置低电平	(屠龙刀三板载led)
		 P24 = 1;
		 delay_ms(500);
		 time++;
		}
		delay_ms(1000);
		time = 1;
		//S
		while( time < 4 )
		{
		 P22 = 0; //设置低电平	(屠龙刀三板载led)
		 P24 = 0;
		 delay_ms(500);
		 P22 = 1; //设置低电平	(屠龙刀三板载led)
		 P24 = 1;
		 delay_ms(500);
		 time++;
		}
		delay_ms(1000);
		time = 1;
    ```


Supongo que te gusta

Origin blog.csdn.net/Medlar_CN/article/details/132336734
Recomendado
Clasificación