Home › Forums › Microcontrollers › PIC Microcontroller › PIC Microcontroller Non-Blocking Delay Implementation › Reply To: PIC Microcontroller Non-Blocking Delay Implementation
February 3, 2016 at 1:04 pm
#12108
Keymaster
Sorry, I don’t understand your code. You have 3 infinite loops in your program. One in main loop, one in 1 min delay loop and other in 2 min delay loop.
You can try like this :
void main()
{
unsigned int a, b;
UART1_Init(9600); // Initialize UART module at 9600 bps
Delay_ms(100); // Wait for UART module to stabilize
TRISB = 0x00;
while (1)
{
if (UART1_Data_Ready())
{ // If data is received,
uart_rd = UART1_Read();
}
if (uart_rd=='A')
{
LATB = 0x01;
a = 100;
}
else if (uart_rd == 'B')
{
LATB = 0x02;
b = 200;
}
uart_rd ='\0';
if(a > 0)
{
Delay_ms(1);
a--;
}
else
LATB = 0;
if(b > 0)
{
Delay_ms(1);
b--;
}
else
LATB = 0;
}
}
