реклама на сайте
подробности

 
 
> Atmega8515 + внешний генератор через USART, Я вообще то делаю? О_о
Dante Krieger
сообщение Nov 17 2010, 02:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 25-04-10
Из: г. Одесса
Пользователь №: 56 889



Доброго времени суток!
Есть такое учебное задание - составить генератор случайных чисел (не псевдо случайных, а именно случайных).
Все что есть - атмега и подключенный к PD4 R-C генератор частоты.
Собственно генератор:

Частота генератора ~10кГц. Мне кажется, что нужно при помощи USARTа считать импульсы, хотя возможно и ошибаюсь.
С USARTом почти не работал.
Проверка будет проводится путем подачи RESETа на МК.
Подскажите, у кого какие идеи еще могут быть. Желательно с кусочками кода :-)
Заранее благодарен!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ReAl
сообщение Nov 17 2010, 20:44
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Таймер сбрасывается, как и весь микроконтроллер. А вот генератор на инверторах — нет. И момент нажатия кнопки «сброс» асинхронен по отношению к генератору на инверторах и случаен. Поэтому случайно время от отпускания сброса до ближайшего перепада генератора.

Ну, если генератор на инверторах нигде больше не используется в обвязке микроконтроллера... Там, в альтеринке.
Это надо обвязку смотреть... Если от этого же генератора кнопка сброса микроконтроллера подсинхронизируется, то числа окажутся от запуска к запуску почти одинаковыми, с точностью до шумка.
Кажется, такая беда вполне может быть. Если в документации на стенд этого нет, спросите о нюансах на форуме у производителя стенда.

Тогда лучше брать тот второй генератор на стенде, который с переменным резистором.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Dante Krieger
сообщение Nov 17 2010, 21:02
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 25-04-10
Из: г. Одесса
Пользователь №: 56 889



Только что написал:
Код
int main()
{
    init_hard();
    _delay_ms(15);
    while(TCNT1 < 2000)
    {
        if(!(bit_is_set(PIND,4)))
        {
            a += TCNT1;
        }
        else if(bit_is_set(PIND,4))
        {
            //;
        }
    }
    _delay_ms(12);
    *lefti = a;
}

Работает на "ура" :-)
Причем и при нажатии RESET и при полном выключении питания. ВотЪ)
------
UPD: еще раз всем спасибо за советы)
Еще только не остался отвеченным пост про COM2USB переходник)

Сообщение отредактировал Dante Krieger - Nov 17 2010, 21:03
Go to the top of the page
 
+Quote Post
GDI
сообщение Nov 18 2010, 09:10
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Цитата(Dante Krieger @ Nov 18 2010, 01:02) *
Еще только не остался отвеченным пост про COM2USB переходник)
Конечно будет работать, для того и придуманы эти переходники, более того в вашем программаторе этот переходник реализован программным способом.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dante Krieger   Atmega8515 + внешний генератор через USART   Nov 17 2010, 02:09
- - zombi   Что то сомневаюсь что соорудить из того что есть г...   Nov 17 2010, 05:53
|- - ReAl   Цитата(zombi @ Nov 17 2010, 07:53) Что то...   Nov 17 2010, 20:18
|- - Dante Krieger   Тоесть, если я правильно понял, при RESET'е та...   Nov 17 2010, 20:35
- - _guardianangel   генератор белого шума можно собрать на стабилитрон...   Nov 17 2010, 07:57
- - kovigor   QUOTE (Dante Krieger @ Nov 17 2010, 06:09...   Nov 17 2010, 08:34
|- - xxxdarksxx   QUOTE (kovigor @ Nov 17 2010, 10:34) ... ...   Nov 17 2010, 14:21
- - Dante Krieger   Дело в том, что вся эта трагедия происходит на лаб...   Nov 17 2010, 15:24
|- - kovigor   Цитата(Dante Krieger @ Nov 17 2010, 19:24...   Nov 17 2010, 18:00
- - Dante Krieger   ясно. Но в принципе, мне кажется, что гораздо прощ...   Nov 17 2010, 18:15
|- - kovigor   Цитата(Dante Krieger @ Nov 17 2010, 21:15...   Nov 17 2010, 18:33
- - Dante Krieger   Не совсем сдать и забыть. Дело в том, что это лабо...   Nov 17 2010, 20:14
- - ILYAUL   Вот так всегда , когда не надо , генератор случайн...   Nov 17 2010, 21:02
- - aleksey_g   А почему бы ему не работать? (если он жив) Согласу...   Nov 18 2010, 07:33
- - Dante Krieger   хм... ясно... тогда круто. Сейчас буду эксперимен...   Nov 18 2010, 14:36


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 03:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01628 секунд с 7
ELECTRONIX ©2004-2016