Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

PIC18 генерация псевдослучайных чисел

Непрочитано 25.11.2011, 20:18  
george carpenter
Прописка
 
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
george carpenter на пути к лучшему
По умолчанию PIC18 генерация псевдослучайных чисел

Пытаюсь программным путем на PIC18м генерировать псевдослучайные числа, компилятор HI_TECH 9.65. Но ничего не получается, программа тупо виснет. Пробовал и встроенной функцией rand() и писал свою random(), но виснет в обоих случаях Отлаживаю в Протеус.
PHP код:
void main(void) 
{    
    srand(0);
    //int b = random(int max = 255);
    int b = rand();
    //----------------------------
    USARTInit();
    USARTWriteInt(b,255); 
Проект прилагаю.
Вложения:
Тип файла: rar convtest.rar (283.8 Кб, 35 просмотров)
Реклама:
george carpenter вне форума  
Сказали "Спасибо" george carpenter
warel (28.06.2019)
Непрочитано 25.11.2011, 20:44  
george carpenter
Прописка
 
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
george carpenter на пути к лучшему
По умолчанию Re: PIC18 генерация псевдослучайных чисел

Изменил srand(0); и все заработало, однако не очень понятно тогда что в него задавать??? Если например хочу генерировать число в диапазоне от 0 до 255
george carpenter вне форума  
Сказали "Спасибо" george carpenter
warel (28.06.2019)
Непрочитано 25.11.2011, 20:50  
george carpenter
Прописка
 
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
george carpenter на пути к лучшему
По умолчанию Re: PIC18 генерация псевдослучайных чисел

Если делать как в мануале, то комплиятор ругается на time()
PHP код:
    time_t toc;
    time(&toc);    
    srand((int)toc); 
george carpenter вне форума  
Сказали "Спасибо" george carpenter
warel (28.06.2019)
Непрочитано 25.11.2011, 23:28  
george carpenter
Прописка
 
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
george carpenter на пути к лучшему
По умолчанию Re: PIC18 генерация псевдослучайных чисел

Сообщение от XoDoK11 Посмотреть сообщение
Функция srand
Следующая программа использует системное время в качестве параметра srand
Слабо глянуть ...
Еще раз говорю почему-то функция time() не определяется!

Error [499] ; 0. undefined symbol:
_time(conv.obj)
george carpenter вне форума  
Сказали "Спасибо" george carpenter
warel (28.06.2019)
Непрочитано 26.11.2011, 12:28  
Dotoro22
Прохожий
 
Регистрация: 26.09.2011
Сообщений: 6
Сказал спасибо: 4
Сказали Спасибо 1 раз в 1 сообщении
Dotoro22 на пути к лучшему
По умолчанию Re: PIC18 генерация псевдослучайных чисел

Ну библиотеку наверное нужно подключить.
типа как в винде time.h
завести генератор от часов srand ( time(NULL) );
диапазон rand() % 255
Dotoro22 вне форума  
Сказали "Спасибо" Dotoro22
warel (28.06.2019)
Непрочитано 26.11.2011, 13:09  
george carpenter
Прописка
 
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
george carpenter на пути к лучшему
По умолчанию Re: PIC18 генерация псевдослучайных чисел

Подключена библиотека, я не совсем идиот. И rand() % 255 тоже сделал.
george carpenter вне форума  
Сказали "Спасибо" george carpenter
warel (28.06.2019)
Непрочитано 26.11.2011, 13:56  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: PIC18 генерация псевдослучайных чисел

Сообщение от george carpenter Посмотреть сообщение
я не совсем идиот
Не совсем...
Цитата:
TIME

Synopsis
#include ‹time.h›
time_t time (time_t * t)

Description

This function is not provided as it is dependant on the target system supplying the current time. This function will be user implemented.
st_1 вне форума  
Эти 2 пользователя(ей) сказали Спасибо st_1 за это сообщение:
ut1wpr (26.11.2011), warel (28.06.2019)
Непрочитано 26.11.2011, 14:38  
george carpenter
Прописка
 
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
george carpenter на пути к лучшему
По умолчанию Re: PIC18 генерация псевдослучайных чисел

Сообщение от st_1 Посмотреть сообщение
Не совсем...
И че дальше? Мне от этого не легче. Как эту функцию реализовать?
george carpenter вне форума  
Сказали "Спасибо" george carpenter
warel (28.06.2019)
Непрочитано 26.11.2011, 14:46  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: PIC18 генерация псевдослучайных чисел

Как реализовать часы???
А нужно ли???
Похоже... вы сами себе не можете внятно сформулировать задачу... отсюда... и полная невидимость её решения...
st_1 вне форума  
Сказали "Спасибо" st_1
warel (28.06.2019)
Непрочитано 26.11.2011, 14:50  
george carpenter
Прописка
 
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
george carpenter на пути к лучшему
По умолчанию Re: PIC18 генерация псевдослучайных чисел

Сообщение от st_1 Посмотреть сообщение
Как реализовать часы???
Похоже... вы сами себе не можете внятно сформулировать задачу... отсюда... и полная невидимость её решения...
Что значит часы? Функцию time()!!!!

Задача для меня ясна! Нужно получить текущее время, чтобы передать его в srand().
george carpenter вне форума  
Сказали "Спасибо" george carpenter
warel (28.06.2019)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паразитная генерация гетеродина ForcePoint Делимся опытом 7 08.12.2015 11:38
Генерация DVB-T на видеокарте Kabron Видеотехника 1 11.04.2011 13:56
Кривая генерация шим putmannn Электроника - это просто 28 11.02.2011 21:27
Генератор псевдослучайных чисел на МК serb-radio Микроконтроллеры, АЦП, память и т.д 2 21.01.2011 14:30
Генерация PWM sva-don Микроконтроллеры, АЦП, память и т.д 13 27.07.2010 10:37


Часовой пояс GMT +4, время: 03:58.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.