⚠️ PREGUNTAS FRECUENTES ⚠️ 1. ¿Puedo cambiar el valor de la prioridad y el tipo de agrupación de prioridades en cualquier parte de mi código? Sí, las prioridades y sub-prioridades pueden ser configuradas en cualquier parte del código sin condición previa. Pero debemos tener mucho cuidado cuando cambiamos de un tipo de agrupación a otro ya que el contenido del registro PIR se va a mantener tal y como está. Es decir, si inicialmente estábamos usando la agrupación 1 (1 bit de prioridad y 3 de sub-prioridad) y el valor de IPR era 1|100(0000), esto implicaría que que tendríamos una prioridad de 1 y una sub-prioridad de 4. Pero si en medio de la aplicación pasamos a la agrupación 2 (2 bits de prioridad y 2 de sub-prioridad) y no hacemos ningún cambio en IPR, el valor de nuestra prioridad pasa a ser 3 y el sub prioridad 0 - 11|00(0000) -, haciendo que la ejecución de las interrupciones tenga un compartamiento inesperado. Mucho cuidado con estos cambios. 2. ¿Qué pasa si tengo dos o más interrupciones pendientes con misma sub-prioridad? Se ejecuta de acuerdo al Vector Table (Ver video de Vector Table). El que tenga una menor dirección en el vector table se ejecutará primero.
Buenas Marlon! Primero de todo, muy buen vídeo, como siempre! Llevo unos días intentando añadir un módulo de Ethernet basado en el W5500 en mi NUCLEO-F446RE y no hay manera de hacer que funcione... Me preguntaba si tenías planeado hacer un vídeo sobre la integración de estos dos chips ya que yo no he sido capaz de lograrlo por la poca información que hay en internet sobre este tema. Creo que sería un vídeo que le podría interesar a mucha gente dado que el mundo del IoT no para de crecer, y los STM32 son unos microcontroladores perfectos para este tipo de aplicaciones.
Hola, Oscar! gracias por el comentario! El video del que hablas es algo que en verdad me gustaría hacer. No podría darte una fecha exacta porque en verdad tomaría tiempo y aún tengo videos el cola :/. Pero por el momento puedo adelantarte esto. Wiznet, el creado de ese chip, tiene librerías muy buenas para sus productos. Esta es su librería: github.com/Wiznet/W5500_EVB Se encuentra el github y la puedes descargar muy fácilmente. Estoy seguro que si buscas el uso de esta librería en específico te será más sencillo. Esta librería es totalmente independiente del microcontrolador, así que si logras añadirla a tu proyecto con éxito, podrás usarlo con otro micro :D Saludos!
Hola, Lucas! Sí, por supuesto que está en los planes subir videos de esos temas. No podría decir cuando exactamente porque hay temas básicos que debemos tocar antes, pero lo vamos a hacer sí o sí! Gracias por tu comentario!
buena información. Tengo una pregunta ¿Cuánto tiempo o cuantos ciclos de reloj le toma al procesador ir desde el programa principal a atender la interrupción?
Hola! Esos datos están en el datasheet y varían de mcu en mcu ^^. Es por eso que no son un buen referente de tiempo o algo a tomar en cuenta. Normalmente se consideran eventos "instantáneos"
⚠️ PREGUNTAS FRECUENTES ⚠️
1. ¿Puedo cambiar el valor de la prioridad y el tipo de agrupación de prioridades en cualquier parte de mi código?
Sí, las prioridades y sub-prioridades pueden ser configuradas en cualquier parte del código sin condición previa. Pero debemos tener mucho cuidado cuando cambiamos de un tipo de agrupación a otro ya que el contenido del registro PIR se va a mantener tal y como está. Es decir, si inicialmente estábamos usando la agrupación 1 (1 bit de prioridad y 3 de sub-prioridad) y el valor de IPR era 1|100(0000), esto implicaría que que tendríamos una prioridad de 1 y una sub-prioridad de 4. Pero si en medio de la aplicación pasamos a la agrupación 2 (2 bits de prioridad y 2 de sub-prioridad) y no hacemos ningún cambio en IPR, el valor de nuestra prioridad pasa a ser 3 y el sub prioridad 0 - 11|00(0000) -, haciendo que la ejecución de las interrupciones tenga un compartamiento inesperado. Mucho cuidado con estos cambios.
2. ¿Qué pasa si tengo dos o más interrupciones pendientes con misma sub-prioridad?
Se ejecuta de acuerdo al Vector Table (Ver video de Vector Table). El que tenga una menor dirección en el vector table se ejecutará primero.
gracias hermano :)
Hola, todo muy conciso y preciso, tengo una pregunta, que opinas de la programación con hilos, es buena práctica en procesadores M4?
Gracias por compartir, tan bien explicado
Y si tengo dos pines iguales pero de diferentes puertos, como lo trato por separado? Pq el filtro en el callback es solo por pin, no por puerto.....
Hola, muy buenos videos men podrías enseñarnos a hacer videos acerca de control de algún tipo de proceso, en plan PID con micro controladores :D
Buenas Marlon! Primero de todo, muy buen vídeo, como siempre!
Llevo unos días intentando añadir un módulo de Ethernet basado en el W5500 en mi NUCLEO-F446RE y no hay manera de hacer que funcione... Me preguntaba si tenías planeado hacer un vídeo sobre la integración de estos dos chips ya que yo no he sido capaz de lograrlo por la poca información que hay en internet sobre este tema. Creo que sería un vídeo que le podría interesar a mucha gente dado que el mundo del IoT no para de crecer, y los STM32 son unos microcontroladores perfectos para este tipo de aplicaciones.
Hola, Oscar! gracias por el comentario!
El video del que hablas es algo que en verdad me gustaría hacer. No podría darte una fecha exacta porque en verdad tomaría tiempo y aún tengo videos el cola :/. Pero por el momento puedo adelantarte esto. Wiznet, el creado de ese chip, tiene librerías muy buenas para sus productos. Esta es su librería: github.com/Wiznet/W5500_EVB Se encuentra el github y la puedes descargar muy fácilmente. Estoy seguro que si buscas el uso de esta librería en específico te será más sencillo. Esta librería es totalmente independiente del microcontrolador, así que si logras añadirla a tu proyecto con éxito, podrás usarlo con otro micro :D
Saludos!
Saludos Y muy buenos Videos Electrosaurio.
Consulta.
Cuando haras Videos usando comunicacion I2C o SPI
Hola, Lucas!
Sí, por supuesto que está en los planes subir videos de esos temas. No podría decir cuando exactamente porque hay temas básicos que debemos tocar antes, pero lo vamos a hacer sí o sí!
Gracias por tu comentario!
buena información. Tengo una pregunta ¿Cuánto tiempo o cuantos ciclos de reloj le toma al procesador ir desde el programa principal a atender la interrupción?
Hola!
Esos datos están en el datasheet y varían de mcu en mcu ^^. Es por eso que no son un buen referente de tiempo o algo a tomar en cuenta. Normalmente se consideran eventos "instantáneos"
Excelente como siempre Marlon, me gustaría conocer tu opinión del siguiente módulo: github.com/swharden/ADC-10-F103C
Gracias.