¿Dónde están las funciones de la red zigbee?
.
La pila de protocolos está implementada en lenguaje C. Dado que el punto de entrada a C es la función principal, es necesario encontrar la función principal. La siguiente figura muestra la lista de capas de la pila de protocolos (que incluyen principalmente la capa de aplicación, la capa de hardware, la capa MAC, la capa de red, la capa de seguridad, la capa de servicio, etc.). La programación de TI está relativamente estandarizada y el nombre de los archivos implica una relación. funciones. Puede ver que debajo del archivo ZMain está el archivo Mainc, y este archivo es la dirección de entrada de toda la pila de protocolos. Abra el archivo ZMain.c y podrá ver la función intmain (void). entrada de toda la pila de protocolos. En la función principal, puede ver esta declaración:
//Inicializar el sistema operativo
osal init system():
El significado real de esto declaración El significado es inicializar la pila de zigbeet.
Ingrese a la función osal init system() (pase el mouse sobre osal init system y haga clic con el botón derecho, luego seleccione "ir a la definición de osal init syster" en las opciones emergentes). Busque la siguiente declaración:
//Inicializar tareas del sistema.
osallnitTasks0;
Como puede verse por el nombre de esta función, se utiliza para inicializar tareas del sistema. En la pila de protocolos zigbee, un concepto muy importante a lo largo del ciclo de vida de la pila de protocolos es la tarea, es decir, el procesamiento de información de la pila de protocolos (como el proceso de transmisión de datos) se realiza a través de tareas. Por ejemplo, si un nodo necesita transmitir un paquete, notificará al sistema operativo que necesita enviar un paquete llamando a la tarea correspondiente.
Dado que las tareas son un concepto tan importante, es necesario que ingresemos a la función allnitTasks() para ver qué tareas inicializa.