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

 
 
> MSP430F5418 + uC/OSII - есть впросы, Начал изучать 430F5xx + uC/OSII. Если кто в этой теме, пусть поможет
Vadim66
сообщение Apr 10 2009, 09:01
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 17-02-09
Пользователь №: 44 977



Начал пробовать uC/OSII для 430F5xx. Как обычно начал с мигания светодиода. Сразу затык. Не совпадает частота мигания светодиода с расчетной. Итак по порядку: компилятор IAR C/C++ Compiler for MSP430 4.20.1 [Evaluation] (4.20.1.20017)
Операционка: uC/OS-II Version : V2.87
Тики считаются от WDT. Исходный код - пример порта для MSP430F5438 с сайта uC/OSII.

В файле MSP430x54x.h ввел строки:
#define WDT_ADLY_1000_wad (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS__64+WDTSSEL__ACLK) /*wad 1.95ms */ т.е. тактируем от ACLK, делим на 64 = получаем 512 Гц.

В файле os_cfg.h ввел строки:
#define OS_TICKS_PER_SEC 512 /*wad тики берем с кварца 32768 Гц */ т.е. 512 тиков в секунду

В файле bsp.c ввел строки: в процедуре TMR_TickInit:
WDTCTL = WDT_ADLY_1000_wad; //от ACLK 32 кГц - т.е запускаются тики таймера

В файле app.c ввел строки: в процедуре AppTaskStart:
while (1) { /* Task body, always written as an infinite loop. */
AppDispUpdate();
OSTimeDlyHMSM(0, 0, 1, 0);
P1OUT ^= 0x1;//wad - добавленная строка - мигания светодиода.
}

Результат: мигание светодиода с периодом 6,488с вместо 2 секунд!
Далее играл с настройкой периода WDT и константой OS_TICKS_PER_SEC:
-- вместо WDTIS__64 поставил WDTIS__32K (/32768) и OS_TICKS_PER_SEC=1 Результат: Период 4,000 сек вместо 2сек
-- поставил WDTIS__8192 (/8192) и OS_TICKS_PER_SEC=4 Результат: Период 5,000 сек вместо 2сек
-- поставил WDTIS__512 (/512) и OS_TICKS_PER_SEC=64 Результат: Период 5,250 сек вместо 2сек

Внимание, вопрос. Кто-нибудь не натыкался на глюки с таймерам WDT - к примеру несоответствие документации в части коэф-тов деления? Кто-нибудь не натыкался на глюки с тиками в операционке?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alexsl
сообщение Apr 12 2009, 05:22
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 8-02-07
Пользователь №: 25 165



Добрый день. Тоже начал разработку на f5xxx(без ос). Портировал старый проект с f1611 на f541x. Столкнулся с такой проблемой. Частота ACLK(32768Гц) плавает в зависимости от напряжения питания (изменял в пределах 2.6-4.0 В) расхождение частот составило 500Гц!! Причем, частота на ножке кварца стабильно стоит 32768Гц. Смотел двух канальным осциллом сразу на кварце и на ножке ACLK. Проверено на трех имеющихся образцах f5418(2шт), f5419(1шт). Никто не встречал такого поведения?
За ранее спасибо.

Update. Все на самом деле оказалось тривиально. Купленные емкости оказались не того номинала что заказывали.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 14:22
Рейтинг@Mail.ru


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