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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> UART на MSP430F2131
Slash
сообщение Dec 25 2008, 18:12
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 10-04-05
Из: Санкт-Петербург
Пользователь №: 4 011



Цитата(rezident @ Dec 25 2008, 16:14) *
Вы такую операцию делаете или забыли?

Да, я такую операцию делаю. У меня два переходника со стандартного 14 контактного разъема на мой 8 контактный с обеими вариантами подачи +3,3В от FET-а и в FET.
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 25 2008, 18:30
Сообщение #17


Гуру
******

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



Тогда скорее всего проблема с величиной тока нагрузки. Кроме MSP430 что-то еще подключено к цепи +3,3В?
Go to the top of the page
 
+Quote Post
Slash
сообщение Dec 26 2008, 10:21
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 10-04-05
Из: Санкт-Петербург
Пользователь №: 4 011



Еще подключены:
ADUM5401
ADM3312
HEF4051 - 3шт.

А какая нагрузка допустима? Думал, что где-то до 100мА можно нагружать FET.
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 26 2008, 13:50
Сообщение #19


Гуру
******

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



Цитата(Slash @ Dec 26 2008, 15:21) *
А какая нагрузка допустима? Думал, что где-то до 100мА можно нагружать FET.
Поскольку MSP-FET430UIF питается от USB-порта, а в качестве стабилизатора напряжения питания TARGET применяется TPS76601, то судя по схемотехнике, теоретически - 200мА. В реальности же более, чем на 50мА я бы не рассчитывал. Потому, что согласно спецификации USB2.0 USB-device до инициализации имеет право потреблять не более 100мА. Но TUSB3410 вроде не умеет "требовать" дополнительное питание после инициализации. Так что эти 100мА нужно распределять и на питание самого MSP-FET430UIF и на питание TARGET-системы.
Go to the top of the page
 
+Quote Post
Slash
сообщение Dec 26 2008, 14:46
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 10-04-05
Из: Санкт-Петербург
Пользователь №: 4 011



Ясно, спасибо.
Пока у меня не прошел период детских болезней, многие глюки сами рассасываются через некоторое время smile.gif Может и это пройдет.
Go to the top of the page
 
+Quote Post
Slash
сообщение Jan 8 2009, 10:43
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 10-04-05
Из: Санкт-Петербург
Пользователь №: 4 011



Здравствуйте!

Вопрос больше по принципам программирования для микроконтроллеров.

К примеру, задача получить по UART число, сделать его двоично-десятичное преобразование и вывести на ЖК индикатор.

Как лучше (с точки зрения "правильности" программирования):

1) Объявить глобальную структуру, все функции становятся void Function (void) { }, в обработчике прерывания можно менять содержимое структуры.

2) Объявить локальную структуру в main, в функции передавать указатели на структуру. Вот, к примеру, понятен ли такой код с указателями?

Код
struct b
{
    unsigned int number;           // число
    unsigned int bdcNumber[10];    // число, в двоично-десятичном представлении
    unsigned char rIdx;            // индекс чтения буфера
    unsigned char cntr;            // счетчик числа элементов в буфере
};

struct b buff, *pbuff = &buff;

        
void BDC (struct b *k)
{
    if (k->number < 9)
    {
        k->cntr = 0;
        k->bdcNumber[k->cntr] = k->number;  
    }
    else
    {
        for (k->cntr = 0; k->number > 9; (k->cntr)++)
        {
            k->bdcNumber[k->cntr] = k->number % 10;
            k->number /= 10;
        }
        k->bdcNumber[k->cntr] = k->number;
    }
}


Меня смущают такие конструкции
Код
k->bdcNumber[k->cntr] = k->number % 10;
Это нормально?

До каких размеров программ разумно пользоваться глобальными переменными? А ведь есть контроллеры с 64к флеша.
Go to the top of the page
 
+Quote Post
chert_kol
сообщение Jan 24 2009, 15:56
Сообщение #22


Частый гость
**

Группа: Свой
Сообщений: 90
Регистрация: 23-01-09
Из: Санкт-Петербург
Пользователь №: 43 842



Меня смущают такие конструкции
Код
k->bdcNumber[k->cntr] = k->number % 10;
Это нормально?

До каких размеров программ разумно пользоваться глобальными переменными? А ведь есть контроллеры с 64к флеша.
[/quote]


Поступить можно просто-посмотреть как это выглядить в ассемблере...


--------------------
С уважением,
Chert_kol.
Go to the top of the page
 
+Quote Post

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

 


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


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