Hola, no estoy acostumbrado a trabajar con pics, estoy trabajando con las siguientes herramientas:
- Pic18f6527
- MPLAB 8.10
- ICD2
- Compilador MCC18 (versión gratuita)
La cuestión es la siguiente: Tras realizar del parte del desarrollo de una aplicación para comunicacionas con una UART, al depurarla no ocurren cosas raras, que parecen estar relacionadas con accesos a zonas de memoria de datos incotroladas y esto produce alteraciones de variables.
Mas concretamente tenemos una variable global tipo char y con un codigo equivalente a el siguiente en el main y con un while(1):
main()
{
while(1)
{
if(z<10)
z++;
}}
pues bien cuando paramos en depuración el código y visualizamos la variable z resulta que vale un valor mayor de 10
, lo cual por código es imposible ya que no se toca en ningun otro sitio.
Por si fuese de ayuda se esta trabajando con dos irq una de alta prioridad(la de RX) y otra de baja prioridad(un timer de 1ms), y se estan ubicando variables en dos bancos de memoria.
Creemos que puede ser algun problema con el tema de la gestión de bancos de memoria, stack o algo asi, ya que con otros micros que he trabajado que no gestionan la memoria en bancos no he tenido estos problemas .
Gracias por la atención prestada.