Я пытаюсь, чтобы в S9ZVLA12MLC одновременно работали 2 функции, одна из которых представляет собой светодиод RGB, который меняет цвета с помощью задержки и цикла for, а другая - кнопка, которая включает светодиод белого цвета.,Я хотел бы, чтобы светодиод RGB был похож на рассеянный свет, который постоянно меняет цвет и никогда не останавливается, но проблема в том, что я не могу включить белый светодиод из-за этого.Я использовал разрыв для петли, чтобы включить белый светодиод, но остановил светодиод RGB, один или другой.Я не могу заставить их обоих работать вместе, и я верю, что это из-за задержки.Кто-нибудь знает, как установить задержку или что-то подобное, чтобы я мог изменить свет, а также включить белый светодиод, не выключая другие или хотя бы пример включения белого светодиода с включенной другой функцией?
Я попробовал ПРОРЫВ;но это не помогает, также добавляя функции в цикл, но игнорируется.
void LED_Colors(void)
{ int i;
for(; ;)
//Red
{
for(i=0;i<0xFF;i++)
{
delay();
PWM0DTY5+=1; //Red
PWM0DTY3=0x00; //Green
PWM0DTY7-=1; //Blue
}
//Green
for(i=0;i<0xFF;i++)
{
delay();
PWM0DTY5-=1; //Red
PWM0DTY3+=1; //Green
PWM0DTY7=0x00; //Blue
}
//Blue
for(i=0;i<0xFF;i++)
{
delay();
PWM0DTY5=0x00; //Red
PWM0DTY3-=1; //Green
PWM0DTY7+=1; //Blue
}
}
}
void delay(void)
{
int i;
for (i=0 ;i<32767; i++) //Max possible value is 32767
{}
}```