Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Странно ведет себя fprint
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
toweroff
Код
__task void show_state (void)
{
U32 adr;

while(1)
{
printf ("Reading... %u\r", adr);
os_tsk_pass();
}
}


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

В результате имею вывод строки посимвольно, задержка между символами примерно 0.3-0.2 сек

До этого в другой задаче printf выводит некое меню, то выводится нормально (ну на скорости 115200 не успеваю увидеть никакой "посимвльности" smile.gif )

В чем может быть дело?
aaarrr
Цитата(toweroff @ Feb 17 2009, 21:15) *
В чем может быть дело?

В загрузке процессора другими задачами. То что было до этого и в другой задаче не показатель, так как было до и в другой.
toweroff
Цитата(aaarrr @ Feb 17 2009, 23:15) *
В загрузке процессора другими задачами. То что было до этого и в другой задаче не показатель, так как было до и в другой.


в том-то и дело - все задачи с одинаковым приоритетом. Фактически, все ждут сигнала от одной задачи, только эта вращается на одинаковом проиритете с той задачей. То есть 50% практически времени проца. Неужели не хватает? unsure.gif
Сергей Борщ
Цитата(toweroff @ Feb 17 2009, 22:31) *
только эта вращается на одинаковом проиритете с той задачей.
Так выведите в той задаче printf("Test %u\n", 12345); и делайте выводы.
toweroff
Пока сделал следующее:

Уменьшил TimerTickValue до 1000 (def 10000) и Round-robin timeout до 1 (def 5)

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

Цитата(Сергей Борщ @ Feb 18 2009, 02:20) *
Так выведите в той задаче printf("Test %u\n", 12345); и делайте выводы.



Performance Analyzer в Keil действительно показывал максимальное время выполнения для основной задачи.
Пытался увеличить время выполнения задач (все равно у меня переключение на каждой итерации) - только ухудшило.
В результате уменьшение времени выполнения каждой задачи почему-то повысило производительность
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.