Долго выполняется программа в CCS v3.3.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Человек Панда
Родился
Сообщения: 5
Зарегистрирован: Чт апр 04, 2013 20:34:59

Долго выполняется программа в CCS v3.3.

Сообщение Человек Панда »

Здравствуйте,форумчане. Пишу программу под TMSF28xx,работаю в симуляторе.Столкнулся с тем,что алгоритм формирования 256 точек для синусоиды выполняется ну очень долго (около 25 сек). Вот часть кода . Работаю в CCS 3.3 Чем может быть это вызвано и как возможно ускорить работу программы?

Код: Выделить всё

include <math.h>
#define    Numpoints           256             //ОпределЯем количество точек формируемого сигнала
......
define k  1 //коэффициент


{Uint16    	 PRESCALERCPU = 65535; 	
unsigned int i = 0;  
while(i<=Numpoints)
			{
			frequency[i]=(Uint16)(ceil(0.5*PRESCALERCPU*(sin(PI*i*2.000/Numpoints)+1)*k));	
			i++;
			}
}
Реклама
Человек Панда
Родился
Сообщения: 5
Зарегистрирован: Чт апр 04, 2013 20:34:59

Re: Долго выполняется программа в CCS v3.3.

Сообщение Человек Панда »

Задачу решил. Оказывается,что операция взятия синуса занимает почти 20 тактов,что много,да еще учесть операции умножения.В итоге свел все к обращению к массиву данных,где заранее рассчитал значения синусов угла
Реклама
Аватара пользователя
blackx
Говорящий с текстолитом
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Re: Долго выполняется программа в CCS v3.3.

Сообщение blackx »

Человек Панда писал(а):Оказывается,что операция взятия синуса занимает почти 20 тактов
Это еще мало :)))

На реальном камне все гораздо быстрее посчитается. Симулятор у TI не сильно отличается скоростью работы :tea:.
Изображение only pure true norwegian blackx Изображение
Ответить

Вернуться в «Разные вопросы по МК»