Usando el Puerto DD como GPIO en MCF5282

2

Tengo un MCF5282 en el que estoy intentando usar PDD4 como GPIO. En mi código de configuración, tengo:

MCF5282_GPIO_DDRDD = 0x10;    /* cs on dd4. */
MCF5282_GPIO_PORTDD = 0x10; /* active-low. */

Y en mi bucle principal, tengo:

for( mainloop_cnt = 0; true; mainloop_cnt++ )
{
    MCF5282_GPIO_PORTDD = (mainloop_cnt & 0x10);
    /* other stuff. */
}

Lo que debería darme una buena onda cuadrada en el osciloscopio, pero el puerto no parece estar haciendo lo que digo. ¿Me faltan algunos pasos de configuración? No puedo encontrar nada en el manual 5282 sobre un "registro de asignación de pines del puerto DD" para reutilizarlo desde su función "principal" como DDATA.

    
pregunta Sam Skuce

2 respuestas

2

La hoja de datos hace que parezca que necesita desconectar el depurador en chip del puerto DD antes de poder usarlo como un puerto normal.

  

26.4 Descripción funcional

     

26.4.1 Descripción general

     

[...]

     

En el modo de un solo chip, todos los pines están configurados como E / S digital de manera predeterminada, excepto los pines de datos de depuración (DDATA [3: 0]) y los pines de estado del procesador (PST [3: 0]). Estos pines están configurados para sus funciones principales de forma predeterminada en todos los modos.

- MCF5282 y MCF5216 ColdFire Microcontroller Manual del usuario, Rev. 3 , § 26, p. 27

En la mayoría de los MCU que he usado, las funciones alternativas generalmente reemplazan a los GPIO, que tienen la prioridad más baja.

    
respondido por el Nick T
1

¿se ha declarado correctamente mainloop_cnt como un carácter sin signo? (no puedo comentar en ninguna parte todavía, lo siento)

    
respondido por el Isaac

Lea otras preguntas en las etiquetas