SGP 0 5 мая, 2005 Опубликовано 5 мая, 2005 · Жалоба Народ помогите советом. Мучаю "MSP430F449IPZ rev G" под IAR321 c помощью MSP-FETP430IF v1.4. стоит 2 кварца: 32768 и 4 MHz, процессор работает от DCO. Включаю второй кварц на 4 MHz, видно как он начинает генерить. програмирую Р1.1_DIR Р1.4_DIR Р1.5_DIR на вывод и переключаю на алтернативную функцию Р1.1_SEL Р1.4_SEL Р1.5_SEL. Смотрю осцилографом и вижу тоько ACLK на 82 выводе(Р1.5). На ножках Р1.4-83(SMCLK) Р1.1-86(MCLK) висят 1. Порты исправны в режиме вывода всё выводится нормально. Для меня это первый проект на 430 серии поэтому просьба сильно не пинать и по возможности ткнуть носом где чего я не дочитал. привожу пример кода void init_per(void) { asm ("BIC.B #0x20, 0x0054 "); // XT2OFF=0 // init_P1 asm ("BIS.B #0x02, 0x0022"); // P1.1_DIR asm ("BIS.B #0x10, 0x0022"); // P1.4 asm ("BIS.B #0x20, 0x0022"); // P1.5 asm ("BIS.B #0x02, 0x0026"); // P1.1_SEL asm ("BIS.B #0x10, 0x0026"); // P1.4 asm ("BIS.B #0x20, 0x0026"); // P1.5 } "Заранее спасибо за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 5 мая, 2005 Опубликовано 5 мая, 2005 · Жалоба Три вопроса. 1. Зачем используете ассемблер в СИшном файле? 2. Почему бы вам не придерживаться обозначений регистров принятых TI. Ведь в комментариях же вы их указываете, а в тексте программы почему-то не используете. Вы думаете что все программисты адреса всех регистров в уме держат? :) 3. Где у вас процедура инициализации источников тактирования? Приведите уж и ее тоже. Если она заключена только в первой строчке данного кода, то она неверная. RTFM. А ваш пример я бы модифицировал таким способом. void init_per(void) { asm ("BIC.B #0x20, 0x0054 "); // XT2OFF=0 // init_P1 // asm ("BIS.B #0x02, 0x0022"); // P1.1_DIR // asm ("BIS.B #0x10, 0x0022"); // P1.4 // asm ("BIS.B #0x20, 0x0022"); // P1.5 ; вместо трех коммагд одна P1DIR |= PIN1+PIN4+PIN5; // asm ("BIS.B #0x02, 0x0026"); // P1.1_SEL // asm ("BIS.B #0x10, 0x0026"); // P1.4 // asm ("BIS.B #0x20, 0x0026"); // P1.5 ; вместо еще трех комманд одна P1SEL |= PIN1+PIN4+PIN5; } Процедуру инициализации источников тактирования я приводил в другом сообщении. См. тему UART+System Clock Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SGP 0 6 мая, 2005 Опубликовано 6 мая, 2005 · Жалоба Большое спасибо за ссылки и примеры, для меня это не только первый проект на MSP430, но и первый проект на Си. Всё что там описано мне ещё предстоит сделать, так что помощь очень кстати. У меня проблема в другом: кристал стартует и работает по умолчанию на DCO, меня это в данный момент пока устраивает, но вывести этот сигнал наружу (на порт Р1.1/MCLK-(86)) и посмотреть я не могу. То же самое с сигналом Р1.4/SMCLK-(83)) :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 6 мая, 2005 Опубликовано 6 мая, 2005 · Жалоба Еще раз спрашиваю, как вы инициализируете источники тактирования? User's Manual хорошо прочитали? Хотя бы и по-русски. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SGP 0 12 мая, 2005 Опубликовано 12 мая, 2005 · Жалоба Источники тактирования я не инициализирую, они остаются по умолчанию после сброса, тоесть MCLK=DCO. Единственное что я сделал я разрешил генерацию ХТ2 и ХТ1 и попытался вывести наружу MCLK, ACLK, SMCLK. И смог увидеть лишь ACLK. Полная процедура инициализации насколько я понял нужна когда переходиш на тактирование от кварца (нужно его включить, дождаться стабилизации генерации и лишь после этого переключаться на него). У меня всё пока работает от DCO и MCLK тактируется от DCO, но вывести этот сигнал на вывод Р1.1/MCLK-(86) не получилось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kpv 5 12 мая, 2005 Опубликовано 12 мая, 2005 · Жалоба какой либо режим спячки используется? програмку выкладывай целиком (файлик пристёгивай). на замечания "реагируйте положительно", то есть не обижайтесь :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SGP 0 16 мая, 2005 Опубликовано 16 мая, 2005 · Жалоба Отправил сообщение в пятницу - по видимому прокси сожрал :( повторюсь сегодня. У меня создалось впечатление что это глюк железа: Посмотрел silicon errata на сайте у TI там последнее обновление от 2004.07 и моей ревизии нет. Скачал файл с примерами slac019e.zip, откомпилировал файл fet440_fll_02.c - не работает!!! На всякий случай приведу сведения о своём кристалле MSP430F449IPZ 42DFROT revG. В присоединённом файле приведено как я это всё делаю, покритикуйте :) primer.txt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shread 0 26 мая, 2005 Опубликовано 26 мая, 2005 · Жалоба у меня тоже когда-то было тако впечатление, тоже с 449м, оказалось, что часовой кварц далеко находился от процессора и сбоил, соответственно FLL работал криво и проц постоянно на dco слетал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба Сорри за поднятие древней темы, но актуально. Почему на 1611 я не вижу клока SMCLK на выходе P1.4 или P5.5, хотя тактирование перифирии им ведется правильно. MCLK на P5.4 вижу успешно. Спячки нету. BCSCTL1 = RSEL0 + RSEL1 + RSEL2 + XT2OFF; DCOCTL = DCO0 + DCO1 + DCO2; //DCO ~= 5MHz BCSCTL2 = DIVS_1; P5SEL и P5DIR тоже иничу как надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба Почему на 1611 я не вижу клока SMCLK на выходе P1.4 или P5.5, хотя тактирование перифирии им ведется правильно. По правилам русского языка вопросительное предложение должно заканчиваться вопросительным знаком. У вас же одни утверждения ;) А не видя кода можно предположить банальные вещи: а) ошиблись номером пина, б) отпадает контакт в щупе осциллографа, в) очки запотели :rolleyes: Приведите исходный код, если хотите нормального совета/ответа. Update. Пока писал ответ код вы привели, но неполный. Где инициализация портов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба P5SEL = BIT5; P5DIR = BIT5; Вот так порты инициализирую. Вочдог отключен, очки не ношу, с пинами и щупами все ок, MCLK то вижу. Зато у меня было вопросительное слово "почему" :) Кстати, кварц на XT2 не пользую. Это ведь не должно играть роли? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба Знаете, меня давно уже не увлекает игра в допрос партизана :( Раз вам сложно привести весь код, то мне-то какой резон телепатией заниматься? В приведенных вами пяти строчках криминала нет. А дьявол, как всем известно, кроется в мелочах :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба Хорошо, весь так весь. main() { WDTCTL = WDTPW + WDTHOLD; BCSCTL1 = RSEL0 + RSEL1 + RSEL2 + XT2OFF; DCOCTL = DCO0 + DCO1 + DCO2; //DCO ~= 5MHz BCSCTL2 = DIVS_1; P5SEL = BIT5; P5DIR = BIT5; while(1); } Проблема глубже судя по всему. Я не могу установить выход в 1 на пинах P5.5/SMCLK, P1.4/SMCLK, P2.0/ACLK, P5.6/ACLK. На любых соседних могу, на тех, которые делят клоки на выход - нет. Потом выяснилось еще больше, клок на выход я все-таки могу подать, но размах меандра... 70 мВ, поэтому я и не видел его с обычной разверткой осциллографа, а как уменьшил стало видно. Частота на выход при этом идет правильная, соответствующая SMCLK. Что это? :cranky: Скажите пожалуйста, вы пробовали вывести эти сигналы наружу в контроллерах 1 серии? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба Что это? :cranky:Проблемы со щупом осциллографа или с самим осциллографом. У осциллографа какая полоса? Щуп с делителем или без? Скажите пожалуйста, вы пробовали вывести эти сигналы наружу в контроллерах 1 серии?Да, конечно же. И неоднократно. Причем именно на P5.5 выводил. И на кристаллах серии 24xx тоже. Все работает штатно в соответствии с описаниями. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба Проблемы со щупом осциллографа или с самим осциллографом. У осциллографа какая полоса? Щуп с делителем или без? 100МГц, MCLK то вижу без проблем на 5МГц. Контакт вроде проверил. Спасибо, посмотрю на другой плате. На другой плате работает. Видимо что-то с контактом в кроватке на платке от ТИ, идущей в комплекте с FET Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться