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

 
 
> Случайные числа и плавный переход
Krik99
сообщение Feb 9 2013, 19:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 11-05-08
Из: Украина
Пользователь №: 37 411



Здравствуйте. Помогите с алгоритмом... собственно есть программный 8-ми канальный ШИМ, необходимо случайным образом вносить изменения в значения каждого из ШИМ каналов одновременно, но значения каждого канала полностью случайны, и к тому же нужно плавно переходить от предыдущего значения к новому. Пишу под CVAVR, помогите хотябы на пальцах с алгоритмом, а то нечего не приходит в голову( С одним каналом все норм, а вот когда их 8.... За ранние спасибо!


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Krik99
сообщение Feb 17 2013, 20:23
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 11-05-08
Из: Украина
Пользователь №: 37 411



Есть вопрос, почему этот кусок кода не работает, когда я в условие бесконечного цикла пишу условие через ИЛИ. Вот код:
Код
do  {
                 i = (rand() & 0xFF);
                }
                while (i<10 || i>100);
                pwm_n[ch]=i;

В общем я хочу ограничить значения в приделах через цикл.. и когда пишу (i>100) то все норм, но как только добавляю i<10 все перестает работать.. Пишу в CVAVR. В чем проблема?


--------------------
Go to the top of the page
 
+Quote Post
=GM=
сообщение Feb 23 2013, 20:18
Сообщение #3


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Krik99 @ Feb 17 2013, 20:23) *
В общем я хочу ограничить значения в приделах через цикл.. и когда пишу (i>100) то все норм, но как только добавляю i<10 все перестает работать.. Пишу в CVAVR. В чем проблема?

Операнды (i>100) и (i<10) возьмите в скобки, чтобы обеспечить надлежащие приоритеты.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
maksimp
сообщение Feb 24 2013, 16:47
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Цитата(=GM= @ Feb 23 2013, 23:18) *
Операнды (i>100) и (i<10) возьмите в скобки, чтобы обеспечить надлежащие приоритеты.

По стандарту на язые Си это не нужно. (i>100) || (i<10) и i>100 || i<10 - одно и то же. Дело не в этом (если CVAVR в этой части соответствует стандарту).
Go to the top of the page
 
+Quote Post



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

 


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


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