Estoy usando MC9S08DZ60 . Me han dado un diagrama de circuito según el cual debo programar el microcontrolador. Estoy usando Code warrior con Processor Expert, que me permite inicializar los registros necesarios, no tengo que escribir el código para el mismo.
Requisito del código: detecte un pulso PWM en el pin 0 del registro D. En respuesta, encienda el LED y aplique la señal PWM en los pines 3,4,5,6 del registro A. Según la hoja de datos, he igualado el valor del valor del canal se registra en el pin esperado en el microcontrolador. ¿Cómo aplicar la señal PWM al PIN requerido? He intentado lo mismo en el siguiente código.
Por favor, consulte el código dado:
unsigned int result;
unsigned int pwmSignal()
{
If(PTDD_PTDD0) // to check for the incoming PWM signal.
{
PTDD_PTDD2 = 1; //light up LED.
do // check Channel for 300ms.
{
//my understanding is to latch the values of the channel value registers to the
//expected pin.
result = TPM2C0VH;
result <<=8;
result = result + TPM2C0VL;
result = PTAD_PTAD4;
result = PTAD_PTAD5;
} while (TPM2C0_CH0F == 0);
}
else PTDD_PTDD2 = 0;
}
El código compila absolutamente bien. Pero no veo ningún cambio. En este punto, quiero decir, este es mi primer intento de hacer esto.
También tengo una pregunta más, ¿cómo uso, por ejemplo, el PIN 2 del Registro D, para dos operaciones diferentes en un solo main.c? Por favor, avíseme si puedo proporcionar más datos sobre todo lo anterior. Gracias de antemano!