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

 
 
> Сколько тактов выполнится код
tvilsa
сообщение Mar 20 2009, 08:48
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 27-01-09
Пользователь №: 43 990



Всем привет.
Использую задержку ввиде

CODE

delay_ms(unsigned int a)
{
volatile unsigned int b;
b=a;
do b--;
while (b != 0);
}



Несмог понять в руководстве пользователя сколько тактов займет выполнение цикла.
Помогите люди добрые.
Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SSerge
сообщение May 21 2009, 04:42
Сообщение #2


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

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Кстати, желание обязательно переключиться на тактирование от кварца - это тоже типичное для начинающих работу с MSP. Далеко не всегда это необходимо. Если для UART-а или таймеров нужен точный клок - в Вашем распоряжении SMCLK или ACLK, а проц может и от DCO тактироваться.
Я и сам в первый раз тоже потратил на это пару дней, пока не сообразил что это лишнее и только мешает уходить в спячку и потом просыпаться.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
Allregia
сообщение May 21 2009, 07:51
Сообщение #3


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

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(SSerge @ May 21 2009, 07:42) *
Кстати, желание обязательно переключиться на тактирование от кварца - это тоже типичное для начинающих работу с MSP. Далеко не всегда это необходимо. Если для UART-а или таймеров нужен точный клок - в Вашем распоряжении SMCLK или ACLK, а проц может и от DCO тактироваться.


Хорошо, тогда посоветуйте как быть (я начинающий с 430).
Проц работает в 2-х режимах - в рабочем и в дежурном.
Дежурный - тут надо только чтобы часы шли и проверялось нажатие кнопки "Вкл".
Т.е. минимальное потребление, работа от часового кварца.

Рабочий - тут нужна максимальная скорость процессора, точное тактирование АЦП и УАРТА.

Я полагаю, кварц 32кгц на XT1 , 8мгц - на XT2 и переключаться между ними:
дежурный режим - MCLK=XT1, SMCLK=OFF, ACLK=XT1 (от него Timer B на прерывание часов).
рабочий режим - MCLK=XT2, SMCLK=XT2 (от него UART и Timer A, по которому АЦП), ACLK=XT1 (от него Timer B на прерывание часов).

А прав ли я ? smile.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение May 21 2009, 15:49
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Allregia @ May 21 2009, 13:51) *
Дежурный - тут надо только чтобы часы шли и проверялось нажатие кнопки "Вкл".
Т.е. минимальное потребление, работа от часового кварца.
Кнопку повесьте на любой пин порта P1 или P2, у которых имеется возможность получить прерывание по изменению уровня на входе. Хотя раз у вас часы будут имитироваться, то в этом же "часовом" прерывании опросить состояние пина много времени не займет. В таком случае кнопка на любом пине может быть.
Цитата(Allregia @ May 21 2009, 13:51) *
Я полагаю, кварц 32кгц на XT1 , 8мгц - на XT2 и переключаться между ними:
дежурный режим - MCLK=XT1, SMCLK=OFF, ACLK=XT1 (от него Timer B на прерывание часов).
рабочий режим - MCLK=XT2, SMCLK=XT2 (от него UART и Timer A, по которому АЦП), ACLK=XT1 (от него Timer B на прерывание часов).
Неразумное решение. sad.gif Зачем переключаться между кварцевыми генераторами? Разработчики MSP430 не зря ведь три внутренних CLK придумали. LFXT у вас будет работать всегда, потому как часы. От LFXT будет генерироваться ACLK. Кстати, часы лучше на WDT повесить, а TimerB использовать для более полезных дел. XT2 нужно включать только тогда, когда он требуется для генерации SMCLK и работы UART. MCLK у вас всегда должен тактироваться от DCO, настроенного на высокую частоту. В таком случае гарантирован быстрый старт (единицы мкс) при переключении в рабочий режим и более надежная работа кристалла вообще (генератор-то внутренний!). К тому же уже неоднократно проверено, что "проснуться", быстро выполнить требуемые операции и снова "уснуть", менее энергозатратно, чем работать на низкой частоте тактирования, но выполнять операции более длительное время. Исключение могут составлять редкие случаи, в которых необходимо работу ядра синхронизировать с какими-то внешними событиями по опросу (без использования прерываний).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- tvilsa   Сколько тактов выполнится код   Mar 20 2009, 08:48
- - MrYuran   Выкладывайте листинг, т.к. он зависит от уровня оп...   Mar 20 2009, 09:10
- - rezident   Если используете IAR, то запустите его симулятор и...   Mar 20 2009, 21:39
- - zhevak   Вот так код будет прозрачнее, а результат работы -...   Mar 21 2009, 14:25
|- - AHTOXA   Цитата(zhevak @ Mar 21 2009, 19:25) Вот т...   Mar 23 2009, 03:52
- - SSerge   У IAR есть встроенные функции, они определены в in...   Mar 21 2009, 16:24
|- - tvilsa   Цитата(SSerge @ Mar 21 2009, 20:24) У IAR...   Mar 23 2009, 04:15
- - Allregia   ЦитатаЕсли используете IAR, то запустите его симул...   May 20 2009, 15:47
|- - SSerge   У Вас генератор XT2 не успел запуститься, поэтому ...   May 20 2009, 16:17
|- - rezident   Цитата(Allregia @ May 20 2009, 21:47) Под...   May 20 2009, 19:15
|- - Allregia   Цитата(rezident @ May 20 2009, 22:15) См....   May 20 2009, 20:08
|- - rezident   Цитата(Allregia @ May 21 2009, 02:08) Я у...   May 20 2009, 21:10
|- - Allregia   Цитата(rezident @ May 21 2009, 00:10) С д...   May 21 2009, 04:33
|- - Allregia   Цитата(rezident @ May 21 2009, 18:49) Кно...   May 21 2009, 18:56
|- - rezident   Цитата(Allregia @ May 22 2009, 00:56) Но ...   May 21 2009, 22:24
|- - Allregia   Цитата(rezident @ May 22 2009, 01:24) Ну ...   May 24 2009, 16:03
|- - rezident   Цитата(Allregia @ May 24 2009, 22:03) Поп...   May 24 2009, 22:23
|- - Allregia   Цитата(rezident @ May 25 2009, 01:23) Вы ...   May 25 2009, 04:43
|- - rezident   Цитата(Allregia @ May 25 2009, 10:43) Нет...   May 25 2009, 10:26
|- - Allregia   Цитата(rezident @ May 25 2009, 13:26) 5% ...   May 25 2009, 12:34
- - rezident   Делайте так, как вам будет угодно. Хоть 5%, хоть 1...   May 25 2009, 13:21
- - Allregia   Непонятно, почему сделан такой вывод...   May 25 2009, 19:04


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 04:02
Рейтинг@Mail.ru


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