Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Результаты опроса: Друзья, на какой плате будем учиться «строить монстров»?
Будем делать свою плату! 19 59.38%
Лут яд! http://starterkit.ru/html/index.php?...&op=view&id=27 13 40.63%
Голосовавшие: 32. Вы ещё не голосовали в этом опросе

 
Опции темы
Непрочитано 30.11.2010, 16:06  
EXIS
Прописка
 
Регистрация: 20.02.2006
Сообщений: 284
Сказал спасибо: 9
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
EXIS на пути к лучшему
По умолчанию Re: Школа АRMрестлинга

Сообщение от Cybermaker Посмотреть сообщение
Всё таки рекомендую сделать на FT232R. Там всему питания хватит. Из деталей: сама FT232R(в терре - 180 руб) + разъём + кондёр 0.1 uF + кондёр (опционально)10 uF.
Спасибо! Наверное это действительно лучший вариант.
Реклама:
EXIS вне форума  
Непрочитано 15.03.2011, 13:25  
Mike121234
Вид на жительство
 
Аватар для Mike121234
 
Регистрация: 02.04.2008
Адрес: Ленинград
Сообщений: 346
Сказал спасибо: 67
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
Mike121234 на пути к лучшему
По умолчанию Re: Школа АRMрестлинга

Подскажите, может кто сталкивался. Проблема с UART0 на NXP LPC2214 при совместной работе с PLL. Без PLL все работает чудесно, но стоит включить PLL, как.
1.) Программа работает так: хватает по входу байты, а потом посылает ответ. Дак вот, если приходит ДО 11 байт включительно, то ответ формируется нормальный. Но если заслать от 12 включительно и больше, то выплевывает кроме того что аброкадабру, дак ещи и не то, что кидаю в FIFO. Но... Взводим таймаут между временем когда приняли последний символ и отправляем следующий, и все нормально.

Вот, отослал на вход 11 символов
Write data

00000000: 10 02 00 80 03 00 00 0A | 0B 10 03 ...Ђ.......

Read data

00000000: 10 02 80 00 02 01 0A 0B | 10 03 ..Ђ.......


Это правильный ответ

А вот теперь 12

Write data

00000000: 10 02 00 80 03 00 00 00 | 0A 0B 10 03 ...Ђ........

Read data

00000000: 40 A1 21 A2 E0 @Ў!ўа

Он кроме того, что проглотил отправленные в FIFO символы, но и изуродовал их...

Но если поставить задержку между окончанием приема последнего символа и загрузкой первого в FIFO, то.... Все в ажуре....

Write data

00000000: 10 02 00 80 03 00 00 00 | 0A 0B 10 03 ...Ђ........



Read data

00000000: 10 02 80 00 02 01 0A 0B | 10 03 ..Ђ.......

А если пропустить первый символ, а потом поставить задержку, то первый символ канет в лету, а остальные (после задержки) передадутся нормально.

На всякий случай код настройки PLL и MAM (отключение MAM ситуацию не спасает)
//================================================== =======
//============== Н А С Т Р О Й К А P L L ============
//================================================== ======

//Настройка PLL
void PLL_First_Setup(void)
{
PLLCFG_bit.MSEL = 3;
PLLCFG_bit.PSEL = 1;

PLLFEED = 0XAA;
PLLFEED = 0X55;

//Включаем PLL без подключения к ядру
PLLCON_bit.PLLE = 1;

PLLFEED = 0XAA;
PLLFEED = 0X55;

while (!(PLLSTAT & 0X400)); // ОЖИДАЕМ ЗАМЫКАНИЯ ПЕТЛИ PLL

//Включаем PLL к ядру
PLLCON_bit.PLLC = 1;


PLLFEED = 0XAA;
PLLFEED = 0X55;

}
//================================================== =======
//============== Н А С Т Р О Й К А M A M ============
//================================================== ======

//Настройка MAM
void MAM_First_Setup(void)
{
MAMCR_bit.MODECTRL = 0; //откл. mam
MAMTIM_bit.CYCLES = 3; // ДЛЯ cclk ›40 MGz
MAMCR_bit.MODECTRL = 2; //ВКЛ. mam
VPBDIV_bit.VPBDIV = 0;
}




Настройка UART

//=========================================
//======== Н А С Т Р О Й К А UART_0 ====
//=========================================

//Н А С Т Р А И В А Е М С О Б С Т В Е Н Н О U A R T 0

U0LCR_bit.DLAB=1; // Разрешить запись в настройках делителя UART 0
// Считаем и прописываем частоту.

U0DLL=ExKUC_Fosc/(16*ExKUI_UART_0_Boundrate); //задание младшего байта скорости обмена по UART_0
// 16, ПОТОМУЧТО ВКЛ. PLL
U0DLM=((ExKUC_Fosc/(16*ExKUI_UART_0_Boundrate))››; //задание cтаршего байта скорости обмена по UART_0
// 16, ПОТОМУ ЧТО ВКЛ. PLL
U0LCR_bit.DLAB=0; //Разрешить обращение к буферам UART_0+ЗАЩЕЛКИВАЕМ ДЕЛИТЕЛЬ

U0FDR_bit.MulVal=1;
U0FDR_bit.DivAddVal=0;

U0LCR_bit.WLS = 0X03; //Длина символа 8 бит
U0LCR_bit.SBS = 0; //Один стоповый бит

U0FCR_bit.FCRF=0; //Разрешить буфер FIFO с уровнем триггера 1 символ.
U0FCR_bit.RTLS=0X00; // оДИН СИМВОЛ НА СРАБАТЫВАНИЕ ПРЕРЫВАНИ
U0FCR_bit.RFR = 1; //Cбросить приемный буфер FIFO
U0FCR_bit.TFR = 1; //Cбросить передающий буфер FIFO

U0IER_bit.THREIE = 0; //ЗАПРЕТить прерывание по передаче данных в буфер
U0IER_bit.RDAIE = 0; //ЗАПРЕТить прерывание по приему данных в буфер

Я вот думаю, может быть контроллер UART работает медленно и не успевает.... Но это же бред.
Mike121234 вне форума  
Непрочитано 16.03.2011, 00:12  
Mike121234
Вид на жительство
 
Аватар для Mike121234
 
Регистрация: 02.04.2008
Адрес: Ленинград
Сообщений: 346
Сказал спасибо: 67
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
Mike121234 на пути к лучшему
По умолчанию Re: Школа АRMрестлинга

Сообщение от Mike121234 Посмотреть сообщение
Подскажите, может кто сталкивался. Проблема с UART0 на NXP LPC2214 при совместной работе с PLL. Без PLL все работает чудесно, но стоит включить PLL, как.
1.) Программа работает так: хватает по входу байты, а потом посылает ответ. Дак вот, если приходит ДО 11 байт включительно, то ответ формируется нормальный. Но если заслать от 12 включительно и больше, то выплевывает кроме того что аброкадабру, дак ещи и не то, что кидаю в FIFO. Но... Взводим таймаут между временем когда приняли последний символ и отправляем следующий, и все нормально.

Вот, отослал на вход 11 символов
Write data

00000000: 10 02 00 80 03 00 00 0A | 0B 10 03 ...Ђ.......

Read data

00000000: 10 02 80 00 02 01 0A 0B | 10 03 ..Ђ.......


Это правильный ответ

А вот теперь 12

Write data

00000000: 10 02 00 80 03 00 00 00 | 0A 0B 10 03 ...Ђ........

Read data

00000000: 40 A1 21 A2 E0 @Ў!ўа

Он кроме того, что проглотил отправленные в FIFO символы, но и изуродовал их...

Но если поставить задержку между окончанием приема последнего символа и загрузкой первого в FIFO, то.... Все в ажуре....

Write data

00000000: 10 02 00 80 03 00 00 00 | 0A 0B 10 03 ...Ђ........



Read data

00000000: 10 02 80 00 02 01 0A 0B | 10 03 ..Ђ.......

А если пропустить первый символ, а потом поставить задержку, то первый символ канет в лету, а остальные (после задержки) передадутся нормально.

На всякий случай код настройки PLL и MAM (отключение MAM ситуацию не спасает)
//================================================== =======
//============== Н А С Т Р О Й К А P L L ============
//================================================== ======

//Настройка PLL
void PLL_First_Setup(void)
{
PLLCFG_bit.MSEL = 3;
PLLCFG_bit.PSEL = 1;

PLLFEED = 0XAA;
PLLFEED = 0X55;

//Включаем PLL без подключения к ядру
PLLCON_bit.PLLE = 1;

PLLFEED = 0XAA;
PLLFEED = 0X55;

while (!(PLLSTAT & 0X400)); // ОЖИДАЕМ ЗАМЫКАНИЯ ПЕТЛИ PLL

//Включаем PLL к ядру
PLLCON_bit.PLLC = 1;


PLLFEED = 0XAA;
PLLFEED = 0X55;

}
//================================================== =======
//============== Н А С Т Р О Й К А M A M ============
//================================================== ======

//Настройка MAM
void MAM_First_Setup(void)
{
MAMCR_bit.MODECTRL = 0; //откл. mam
MAMTIM_bit.CYCLES = 3; // ДЛЯ cclk ›40 MGz
MAMCR_bit.MODECTRL = 2; //ВКЛ. mam
VPBDIV_bit.VPBDIV = 0;
}




Настройка UART

//=========================================
//======== Н А С Т Р О Й К А UART_0 ====
//=========================================

//Н А С Т Р А И В А Е М С О Б С Т В Е Н Н О U A R T 0

U0LCR_bit.DLAB=1; // Разрешить запись в настройках делителя UART 0
// Считаем и прописываем частоту.

U0DLL=ExKUC_Fosc/(16*ExKUI_UART_0_Boundrate); //задание младшего байта скорости обмена по UART_0
// 16, ПОТОМУЧТО ВКЛ. PLL
U0DLM=((ExKUC_Fosc/(16*ExKUI_UART_0_Boundrate))››; //задание cтаршего байта скорости обмена по UART_0
// 16, ПОТОМУ ЧТО ВКЛ. PLL
U0LCR_bit.DLAB=0; //Разрешить обращение к буферам UART_0+ЗАЩЕЛКИВАЕМ ДЕЛИТЕЛЬ

U0FDR_bit.MulVal=1;
U0FDR_bit.DivAddVal=0;

U0LCR_bit.WLS = 0X03; //Длина символа 8 бит
U0LCR_bit.SBS = 0; //Один стоповый бит

U0FCR_bit.FCRF=0; //Разрешить буфер FIFO с уровнем триггера 1 символ.
U0FCR_bit.RTLS=0X00; // оДИН СИМВОЛ НА СРАБАТЫВАНИЕ ПРЕРЫВАНИ
U0FCR_bit.RFR = 1; //Cбросить приемный буфер FIFO
U0FCR_bit.TFR = 1; //Cбросить передающий буфер FIFO

U0IER_bit.THREIE = 0; //ЗАПРЕТить прерывание по передаче данных в буфер
U0IER_bit.RDAIE = 0; //ЗАПРЕТить прерывание по приему данных в буфер

Я вот думаю, может быть контроллер UART работает медленно и не успевает.... Но это же бред.
Я баранов, я баранов бееееееееее. Все дело в ADAMe, который не успевал переключать 485 после передачи на прием. Там есть джампер. Он был на 9600 настроен. Поставил на 115200 и все срослось!!!
Mike121234 вне форума  
Непрочитано 12.06.2011, 20:02  
DVF
Частый гость
 
Аватар для DVF
 
Регистрация: 01.09.2005
Адрес: Саратов
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
DVF на пути к лучшему
По умолчанию Re: Школа АRMрестлинга

Может кто подскажет обучающий курс на просторах инета (можно англоязычный) для МК семейств LPC17xx под IAR EWARM?
DVF вне форума  
Непрочитано 22.08.2011, 16:13  
ZorkiyA
Прохожий
 
Регистрация: 29.03.2007
Сообщений: 7
Сказал спасибо: 4
Сказали Спасибо 5 раз(а) в 3 сообщении(ях)
ZorkiyA на пути к лучшему
По умолчанию Re: Школа АRMрестлинга

А что, тема заглохла?
Такие вещи все таки лучше делать не на форуме, а на своем, хоть на народе, сайте, одна тема, один сайт, хотя если по уму развести то можно и несколько тем на одном сайте.
А на форуме вести обсуждение, а то помойка получается, вон даже тут уже начали сорить левыми вопросами и первоначальный смысл теряется.

Последний раз редактировалось ZorkiyA; 22.08.2011 в 16:15.
ZorkiyA вне форума  
Сказали "Спасибо" ZorkiyA
Uragan90 (22.08.2011)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Делимся опытом 11242 29.12.2015 23:45
Си - это сложно и непонятно или нет? Easyrider83 Микроконтроллеры, АЦП, память и т.д 146 29.10.2010 01:17


Часовой пояс GMT +4, время: 05:10.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot