|
Сколько тактов выполнится код |
|
|
|
Mar 20 2009, 08:48
|
Участник

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

|
Всем привет. Использую задержку ввиде CODE delay_ms(unsigned int a) { volatile unsigned int b; b=a; do b--; while (b != 0); }
Несмог понять в руководстве пользователя сколько тактов займет выполнение цикла. Помогите люди добрые. Заранее спасибо.
|
|
|
|
|
 |
Ответов
|
May 20 2009, 15:47
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата Если используете IAR, то запустите его симулятор и посмотрите счетчик циклов. А вооб Подскажите, плиз, где оно там? Только начал (причем сегодня  ) работать с IAR и вообще 430-м (до того было много других). Ничал как обычно - "помигать светодиодом", т.е. "подергать ножкой. Вот такой код: Код while(1){ _NOP(); LEDS_OFF; _NOP(); LEDS_ON; в асме выглядит так: Код _NOP(); 0040AC 0343 nop LEDS_OFF; 0040AE F2D01F003100 bis.b #0x1F,&P5OUT _NOP(); 0040B4 0343 nop LEDS_ON; 0040B6 F2F0E0003100 and.b #0xE0,&P5OUT 0040BC F73F jmp 0x40AC Смотрю осциллографом на ножке - 1.88/2.48 мкс., Это что получается, проц, работающий на 8мгц столько времени это выполняет?! Кварц 8мгц подлючен к XT2, настройки такие: Код // Clock init BCSCTL1 = 7; // Turn on XTL2 BCSCTL2 = 0x88; // SMCLK = XTL2 __bic_SR_register(SCG1); // Turn on SMCLK
|
|
|
|
|
May 20 2009, 19:15
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Allregia @ May 20 2009, 21:47)  Подскажите, плиз, где оно там? См. скриншот. Цитата(Allregia @ May 20 2009, 21:47)  Кварц 8мгц подлючен к XT2, настройки такие: У вас типовая ошибка для начинающих работать с MSP430. Читайте внимательно в User's Guide раздел Basic Clock Module Operation подраздел Sourcing MCLK from a Crystal. Вот тут даже по-русски. http://www.gaw.ru/html.cgi/txt/doc/micros/msp430/arh/4_2.htm
Эскизы прикрепленных изображений
|
|
|
|
|
May 20 2009, 20:08
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата(rezident @ May 20 2009, 22:15)  См. скриншот. Спасибо. Я уже нашел в принципе, что NOP это 5 циклов. Цитата У вас типовая ошибка для начинающих работать с MSP430. Читайте внимательно в User's Guide раздел Basic Clock Module Operation подраздел Sourcing MCLK from a Crystal. Вот тут даже по-русски. http://www.gaw.ru/html.cgi/txt/doc/micros/msp430/arh/4_2.htmОшибка в том, что я не жду в цикле сброса OFIFG перед тем как идти дальше ? Но судя по всему, работает оно у меня нормально. Если это на что-то влияет - питание подано все время, работаю с JTAG отладчиком.
|
|
|
|
|
May 20 2009, 21:10
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Allregia @ May 21 2009, 02:08)  Я уже нашел в принципе, что NOP это 5 циклов. С дуба рухнули?  Пардон за эмоции. NOP это один цикл/такт! Цитата(Allregia @ May 21 2009, 02:08)  Ошибка в том, что я не жду в цикле сброса OFIFG перед тем как идти дальше ? Да. Пока OFIFG не сбросится (генерация кварца не будет устойчивой) MCLK на тактирование от XT2 (XT1) не переключится, несмотря на любое принудительное изменение состояния битов SELMx в регистре BCSCTL2. По умолчанию (после сброса или подаче питания) MCLK от внутреннего DCO работает. А DCO на частоте около 900кГц запускается. Цитата(Allregia @ May 21 2009, 02:08)  Но судя по всему, работает оно у меня нормально. Угу, работает. Только не от 8МГц кварца. Если бы MCLK тактировался от 8МГц, то вы бы наблюдали импульсы 0,75мкс (6 тактов) и 1мкс (8 тактов). А так вы записью в BCSCTL1 битов RSELx увеличили частоту DCO до (примерно) 3.1МГц и работаете на DCO. См. фрагмент из даташита в аттаче. Цитата(Allregia @ May 21 2009, 02:08)  Если это на что-то влияет - питание подано все время, работаю с JTAG отладчиком. Вообще-то, если внимательно читать мой ответ в сообщении #3, который вы процитировали в своем вопросе, то я там писал про симулятор, а не про эмулятор (JTAG отладчик). И скриншот в сообщении #10 соответственно тоже в режиме симулятора снят.
Эскизы прикрепленных изображений
|
|
|
|
|
May 21 2009, 04:33
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата(rezident @ May 21 2009, 00:10)  С дуба рухнули?  Пардон за эмоции. NOP это один цикл/такт! Да понял я, понял. Сейчас проверю. Цитата Вообще-то, если внимательно читать мой ответ в сообщении #3, который вы процитировали в своем вопросе, то я там писал про симулятор, а не про эмулятор (JTAG отладчик). И скриншот в сообщении #10 соответственно тоже в режиме симулятора снят. Не горячитесь  Этот момент я тоже понял. Вчера специально переключался из эмулятора в симулятор, но не нашел де циклы считаются - потому и спросил.
|
|
|
|
Сообщений в этой теме
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 SSerge У Вас генератор XT2 не успел запуститься, поэтому ... May 20 2009, 16:17 SSerge Кстати, желание обязательно переключиться на такти... May 21 2009, 04:42 Allregia Цитата(SSerge @ May 21 2009, 07:42) Кстат... May 21 2009, 07:51  rezident Цитата(Allregia @ May 21 2009, 13:51) Деж... May 21 2009, 15:49   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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|