|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.02.2019, 19:34 | #1 |
Пользователь
Регистрация: 19.12.2011
Сообщений: 15
|
Неправильно работает функция rand() на микроконтроллере ATMEGA328P
Добрый день, неправильно работает функция rand(). Должно генерироваться число от 1 до 12, но вместо этого всегда генерируется число 6.
Код:
|
18.02.2019, 12:32 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
У вас там RTC к микроконтроллеру подключен? Я бы не стал закладываться на time(), понятия не имею, что именно возвращает time() при отсутствии RTC.. Но в любом случае инициализировать ГСЧ через srand на каждой итерации - плохая идея
|
01.03.2019, 12:32 | #3 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 754
|
- так будет генерироваться от 0 до 11, а не от 1 до 12, как Вы хотели.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
01.03.2019, 13:33 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,350
|
Вынесите srand за тело цикла.
|
12.11.2019, 06:36 | #5 |
Новичок
Джуниор
Регистрация: 11.11.2019
Сообщений: 1
|
Микроконтроллер (ATSAMC21-XPRO):
8-разрядный микроконтроллер работает на частотах от 16 до 50 МГц, подчеркивая простоту производительности и низкую стоимость приложений, и до сих пор занимает определенную позицию на текущем рынке микроконтроллеров, и многие операторы микроконтроллеров продолжают разрабатывать энергосберегающие конструкции для 8-разрядных микроконтроллеров с частотной коррекцией. Разработка продукта нуждается в зеленом веке. 16-битный MCU - это 16-битные вычисления, 16/24-битная адресация и частота - основные спецификации от 24 до 100 МГц. Некоторые 16-битные MCU дополнительно предоставляют 32-битные специальные инструкции сложения / вычитания / умножения / деления. В связи с появлением и постоянным снижением цен на 32-битные микроконтроллеры и простыми, долговечными и дешевыми недорогими преимуществами 8-битных микроконтроллеров, рынок 16-битных микроконтроллеров постоянно сжимается, что делает его самым низким коэффициентом отгрузки. Можно сказать, что 32-разрядный MCU является основным направлением рынка MCU. Единая цена составляет от 1,5 до 4 долларов США. Рабочая частота в основном находится в диапазоне от 100 до 350 МГц. Производительность выше, а тип приложения довольно разнообразен. Однако из-за увеличения операндов и длины памяти 32-битный MCU увеличит длину программного кода той же функции на 30 ~ 40% по сравнению с 8/16-битным MCU, что приводит к тому, что объем встроенной памяти OTP / FlashROM не будет слишком маленьким, а также количество внешних выводов на чипе. Этот скачок еще больше ограничил возможности снижения стоимости 32-битных микроконтроллеров |
12.11.2019, 11:26 | #6 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,628
|
Ну и какой смысл в этом довольно-таки корявом переводе, причем в совершенно чужом топике? Вроде тут не кафедра иностранных языков, чтоб зачет поставить ?
Последний раз редактировалось digitalis; 12.11.2019 в 11:28. |
12.11.2019, 11:32 | #7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,766
|
А какже ссылочка?
|
12.11.2019, 12:50 | #8 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,628
|
Ясно. Рекламщик проявился. Ну и жлобьё! Да я за 51$ ноутбук лучше куплю секондо-хендовый.
Последний раз редактировалось digitalis; 12.11.2019 в 12:59. Причина: add |
14.11.2019, 13:34 | #9 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 754
|
А, ну, я тоже ей писал. Она из Китая, Гонконг. Все время предлагала свой товар.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Последний раз редактировалось Cuprum5; 14.11.2019 в 13:35. Причина: Добавил фразу. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Неправильно работает рекурсивная функция | [FENIX] | PHP | 0 | 05.12.2018 09:03 |
Функция rand() | axel__ | Общие вопросы C/C++ | 12 | 19.06.2015 14:20 |
функция rand() | goluzov | Общие вопросы C/C++ | 11 | 05.02.2013 09:41 |
Неправильно работает функция округления числа | Nomicos | Помощь студентам | 3 | 09.07.2012 16:23 |
rand() неправильно работает | demigod82 | Общие вопросы C/C++ | 7 | 02.04.2012 17:35 |