Soy un principiante en el desarrollo de software / firmware, acabo de salir de Arduino y en STM32F105. Estoy usando Keil Uvision para desarrollar mi código.
He construido una puerta de enlace CAN Bus simple usando 2 transceptores CAN. Escribí un firmware que pasa ciertas identificaciones de un canal a otro y viceversa y ciertos datos se cambian y transmiten al otro canal. Todo funciona bien.
Pero ahora estoy trabajando en un proyecto más complejo que involucra al menos 30 ID en cada canal, cada uno con datos complejos con multiplicadores complejos y campos de bits, etc.
Creé una base de datos CAN Bus en el archivo Vector .dbc estándar de la industria para ambas redes.
Pero estoy luchando sobre cómo conectar el archivo .dbc con mi código, no puedo encontrar ninguna biblioteca ni información sobre cómo hacerlo.
Consideraría otro IDE, pero mi única experiencia es con Keil, por lo que me gustaría que no fuera una curva de aprendizaje demasiado grande.
Mi pregunta es, ¿hay alguna biblioteca para Keil que me permita importar un archivo .dbc o alguna documentación sobre cómo hacerlo? ¿O qué otros IDE tienen esa capacidad para trabajar con un archivo .dbc?
El uso de CAN dbc es que podemos diferenciar señales en nombres legibles por humanos. Si el mensaje consiste en velocidad, la interfaz de usuario analiza el mensaje de la lata y muestra los datos además de mostrarlos como 0x3C o algún ID hexadecimal. Para enviar mensajes, debe convertir el dbc en estructuras con identificación hexadecimal para que pueda usarlo en el firmware. No veo ninguna aplicación para dbc en el nivel de firmware, es solo para facilitar la lectura y el trazado, etc. en una interfaz gráfica.
Una cosa que puede hacer es escribir un script de python o shell para convertir un archivo dbc en CAN_Msgs.c y CAN_Msgs.h, que será más fácil de incorporar en el firmware y se puede actualizar.
Alguien por favor corrijame si me equivoco
novato novato
ganeshredcobra