Рандом

15-05-2013, 11:44 От: admin Посмотрели: 673

#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
int IsEven(int x){
return (x & 1) == 0;
}
void delay_us(unsigned int us)
{
for(unsigned int i=0;i<us;i++)
{
_delay_ms(1);
}
}
int main(void)
{
srand(32000);
uint8_t t = 200 + rand() % 500;
uint8_t i = 0 + rand() % 10;
DDRB = 0b00000011;
delay_us(t);
if (IsEven(i)==0)
PORTB = 0b00000001;
else
PORTB=0b00000010;
while(1)
{
}
}



смысл в том что генерируется случайное число и проверяется на четность, после уже на нужный порт подается 1. так же генерируется случайная задержка. но при запуске горит один и тот же диод  и время задержки одинаковое, я так понимаю рандом не работает. может есть ошибка в коде? РАНД

Еще вопрос, на форуме говорили сделать лучше светодиод, что бы порт был на вход нагрузка меньше, как это осуществить?
Раздел: AVR

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Рандом все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031