roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 20:32

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: LPC1111... как использовать ноги PIO1_3 и PIO0_10?
СообщениеДобавлено: 12 дек 2010, 21:28 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
итого:
пусть зряплата инженера 45 тыр. в месяце 22 рабочих дня по 8 часов.
значит час стоит 250 руб.

Потерял два часа, на ровном месте. проблему не решил.
Минус 500 рублей по времени.
Да еще и плату переделывать.

Такая вот арифметика.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... как использовать ноги PIO1_3 и PIO0_10?
СообщениеДобавлено: 12 дек 2010, 21:30 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Да еще учесть налоги, амортизацию раб. места, отпускные - получится не 45тр в месяц, а все 65-75тр легко.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... как использовать ноги PIO1_3 и PIO0_10?
СообщениеДобавлено: 12 дек 2010, 21:31 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
ну знаешь, по моему в этом и заключается профессия инженера :) Иначе было бы совсем просто


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... как использовать ноги PIO1_3 и PIO0_10?
СообщениеДобавлено: 12 дек 2010, 21:31 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
=DeaD= писал(а):
Да еще учесть налоги, амортизацию раб. места, отпускные - получится не 45тр в месяц, а все 65-75тр легко.

угу - ну это я для ровного счета :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... как использовать ноги PIO1_3 и PIO0_10?
СообщениеДобавлено: 12 дек 2010, 21:32 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Я помню допустил ошибку в дескрипторе USB устройства, но все работало нормально до одного момента. Неделю разбирался.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... как использовать ноги PIO1_3 и PIO0_10?
СообщениеДобавлено: 12 дек 2010, 21:32 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Это я к тому, что некоторые тут хотят купить "на копейку пятаков"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... Хардварный запуск АЦП
СообщениеДобавлено: 16 дек 2010, 01:03 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Бьюсь об новые грабли...

По даташиту АЦП в LPC1111 может запускаться автоматом от таймера.
Таймер работает правильно (сигнал CT16B0_MAT0 вижу на ноге)
АЦП постоянно вызывает прерывания - то есть только закончилось предыдущее, сразу опять влетает в тот же обработчик. По идее, как я понимаю, бит прерывания должен сниматься при чтении регистра STAT. Не работает.
(Для отладки вывел на ногу многострадального светодиода и тыркаю осциллом).

Код инициализации и хэндлера:

Код:
void ADCInit( void )
{
 
// Enable ADC

   LPC_SYSCON->PDRUNCFG &= ~(0x1<<4);   // Disable Power down bit to the ADC block.
   LPC_SYSCON->SYSAHBCLKCTRL |= (1<<13);   // Enable AHB clock to the ADC. */

//  ADC I/O config

   LPC_IOCON->R_PIO1_1  &= ~0x8F;   
   LPC_IOCON->R_PIO1_1  |= 0x02;   // ADC IN2 - SIGNAL INPUT

// ADC config

   LPC_ADC->CR = ( 0x04 << 0 ) |   // SEL=1,select channel 2 on ADC0 (SIGNAL)
   ( ( 11 - 1 ) << 8 ) |         // CLKDIV = Fpclk / 1000000 - 1
   ( 0 << 16 ) |               // BURST = 0, no BURST, hardware controlled
   ( 0 << 17 ) |               // CLKS = 0, 11 clocks/10 bits
//   ( 1 << 21 ) |               // PDN = 1, normal operation
//   ( 0 << 22 ) |               // TEST1:0 = 00
   ( 6 << 24 ) |               // START = 6 A/D conversion start on CT16B0_MAT0
   ( 1 << 27 );               // EDGE = 1 (CAP/MAT singal rising,trigger A/D conversion)

// Config Interrupt

   NVIC_EnableIRQ(ADC_IRQn);
   LPC_ADC->INTEN = 0x100;      // Enable general interrupt

   return;
}

#define LED_RED()   { LPC_GPIO1->MASKED_ACCESS[0x0110] = 0x0100; }
#define LED_OFF()   { LPC_GPIO1->MASKED_ACCESS[0x0110] = 0x0000; }

void ADC_IRQHandler (void)
{
volatile unsigned int temp;

   temp = LPC_ADC->STAT;               // Read ADC will clear the interrupt
   temp = ( LPC_ADC->DR[2] >> 6 ) & 0x3FF;   // Read ADC value

   LED_RED();
   for(temp=2;temp>0;temp--);
   LED_OFF();

   return;
}


Добавлено спустя 1 минуту 2 секунды:
Re: LPC1111... Вопросы.
Если что, использую Кейл

Добавлено спустя 16 минут 38 секунд:
Re: LPC1111... Вопросы.
Вопрос снят.
Нужно разрешать (оказывается) не глобальное прерывание от АЦП, а прерывание от нужного канала... Дока отвратительная.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... Вопросы.
СообщениеДобавлено: 16 дек 2010, 03:12 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Доки ужасные, все на скорую руку. По LPC2000 и LPC1700 были намного лучше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... Вопросы.
СообщениеДобавлено: 16 дек 2010, 03:35 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Вот мне всегда было интересно. Они же тестируют свои девайсы, значит должны быть тесты, а значит и коды. Почему бы их не выкладывать?

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... Вопросы.
СообщениеДобавлено: 16 дек 2010, 09:13 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Да они и не запаривались вообще, к примеру по целому регистру для каждой ножки микроконтроллера + перемешаны в порядке и не подряд в адресном пространстве.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... Вопросы.
СообщениеДобавлено: 16 дек 2010, 13:31 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Будете смеяться, но порядок там все же есть.
Они расположены в порядке нумерации ног на корпусе...

P.S.
Меня телевизор филипс до сих пор в тупик ставит своей "юзабилити"...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... Вопросы.
СообщениеДобавлено: 16 дек 2010, 14:32 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Смеюсь :) Только вот API не прикрутить нормальное к IOCON.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... Вопросы.
СообщениеДобавлено: 16 дек 2010, 16:27 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Ну, честно говоря, API меня волнует в последнюю очередь,
(имхо, нафиг оно не упало в реальных проектах), но неудобно, согласен.
Еще и ноги названы в хеадерах фиг знает как...

Да даже не это напрягает - не работает же по даташиту, сволочь!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... Вопросы.
СообщениеДобавлено: 16 дек 2010, 16:35 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Насчет API конечно он не является приоритетным. Но, к примеру, периферия у LPC2000 и LPC1700 совпадает полностью и ничего переделывать не надо было, я просто код перекинул и все заработало. А здесь же (только с LPC1343) надо было писать заново и разбираться почему не работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LPC1111... оверклокинг :)
СообщениеДобавлено: 30 янв 2011, 02:53 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Поигрался тут немножко - случайно завел проц на 108 МГц (глюканул в битиках PLL).
А он взял и заработал... как минимум ядро, память, таймеры, ноги (АЦП и запись во флэш не проверял).
Спокойно лежит вот и работает минут двадцать уже... не греется, не зависает, такты не теряет...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO