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

 
 
> LPC13XX
3.14
сообщение Dec 1 2009, 14:27
Сообщение #1


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Ребята, кто-нибудь уже юзал LPC13 серии (у меня 1313)?
Что то у меня он оживать не хочет.
Его пины JTAG совмещены с GPIO и по умолчанию функционируют как JTAG лини, но мой чип в ответ ничего не выдает.
Еще странность, если подтянуть P0.1 на землю во время включения питания или сброса, камень должен остаться в загрузчике, и работать через UART, если соблюсти это условие активности на UART я так же не наблюдаю (он хотяб TX к питанию подтянуть должен).


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dimka76
сообщение Dec 22 2009, 12:58
Сообщение #2


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Пробую работать с LPC1311.
Вот моя тестовая программака.
Код
#include "LPC13xx.h"  
#include "clkconfig.h"

volatile char i;
void CT16B0_IRQHandler(void)
{
  LPC_TMR16B0->IR = 0x3F; /*clear flag*/
  LPC_TMR16B0->MR0 = i;
  --i;
  return;
}
int main (void)
{
  i = 0;
  /* Enable AHB clock to the GPIO domain. */
  LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);

   SystemInit();

  // Init Timer16_B0
  LPC_SYSCON->SYSAHBCLKCTRL |= (1<<7);
  LPC_TMR16B0->PR = LPC_TMR16B0->CCR = 0;
  LPC_IOCON->PIO0_8 = 0x02;
  LPC_IOCON->JTAG_TCK_PIO0_10 = 0x03;
  LPC_TMR16B0->MR1 = 0xFF;/*TimerInterval*/
  LPC_TMR16B0->MR0 =1;
  LPC_TMR16B0->MR2 = 0x1F;   //test signal with constant pulse width
  LPC_TMR16B0->MCR=(1<<4)| /*Reset on MR1*/
                                  (1<<3); /*Interrupt MR1*/
/* PWM mode is enabled for CT16B0_MAT0 */
  LPC_TMR16B0->PWMC = 1 + (1<<2);
  NVIC_EnableIRQ(TIMER_16_0_IRQn);
  LPC_TMR16B0->TCR = 1; /* enable Timer */  

  while (1) {};
}


Здесь настраиваю таймер на выдачу двух ШИМов: один с постоянной скважностью (MR2), другой с изменяемой(MR0).
В обработчике прерывания по переполнению таймера (0xFF) делаю либо инкремент скважности, либо декремент.
Сигнал с выхода MR0 пропускаю через RC-фильтр (R=5.6 кОм, С=2.2 нФ). На выходе RC имею пилу.
Так вот, при инкременте все замечательно.
При декременте на пиле появляется зазубрина.
Откуда она появляется? И почему ширина импулься с выхода MR0 внезапно становится равна нулю при декременте?
Чертовщина какая-то ))).
Писал в службу поддержки NXP и вот что они мне ответили
Цитата
I did a test with your program on a MCB1000 board with the LPC1343 micro and and did not see any difference. The choice of output might be the problem. Try an other output mode in IOCON register (bit 3 and 4).

The jitter and the rise and fall time are the same with increment or decerment i


На сайте NXP нет почтового адреса (e-mail) службы поддержки, а только WEB-форма, которая позволяет отправлять только текст.

Может shahr посодействует в получении ответа на мой вопрос. Или 3.14 повторит мой эксперимент.
Прикрепленное изображение
Прикрепленное изображение


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Vitaliy_ARM
сообщение Sep 5 2010, 17:57
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Если не трудно, могут ли владельцы плат MCB1300 или LPCXpresso 1343 проверить приложенную прошивку?
Вроде бы сделано все правильно. Файл компановщика сконфигурирован в соответствии с AN10904.

Прошивка очень простая, но уже весь мозг сломал - не работает HID. smile3046.gif

Основная часть кода выглядит следующим образом:

Код
#include "includes.h"                        /* LPC13xx definitions */

#define USB_VENDOR_ID 0x1FC9
#define USB_PROD_ID   0x0003
#define USB_DEVICE      0x0100

USB_DEV_INFO DeviceInfo;
HID_DEVICE_INFO HidDevInfo;
ROM ** rom = (ROM **)0x1fff1ff8;

#define     EN_TIMER32_1    (1<<10)
#define     EN_IOCON        (1<<16)
#define     EN_USBREG       (1<<14)

#define PORT0        0
#define PORT1        1
#define PORT2        2
#define PORT3        3

/*
*  Get HID Input Report -> InReport
*/

void GetInReport (uint8_t src[], uint32_t length)
{
    uint8_t PCInReportData = 0;
    
              /*                  */
              src[0] = PCInReportData;
}

/*
*  Set HID Output Report <- OutReport
*/
void SetOutReport (uint8_t dst[], uint32_t length)
{
    uint8_t PCOutReportData = dst[0];
}


int main (void)
{
    volatile int n;
    
    HidDevInfo.idVendor = USB_VENDOR_ID;
    HidDevInfo.idProduct = USB_PROD_ID;
    HidDevInfo.bcdDevice = USB_DEVICE;
    HidDevInfo.StrDescPtr = (uint32_t)&USB_StringDescriptor[0];
    HidDevInfo.InReportCount = 1;
    HidDevInfo.OutReportCount = 1;
    HidDevInfo.SampleInterval = 0x20;
    HidDevInfo.InReport = GetInReport;
    HidDevInfo.OutReport = SetOutReport;
    
    DeviceInfo.DevType = USB_DEVICE_CLASS_HUMAN_INTERFACE;
    DeviceInfo.DevDetailPtr = (uint32_t)&HidDevInfo;
        
    
    LPC_SYSCON->SYSAHBCLKCTRL |= (EN_TIMER32_1 | EN_IOCON | EN_USBREG);
    
    (*rom)->pUSBD->init_clk_pins();  

    for (n = 0; n < 75; n++) {};
    
    (*rom)->pUSBD->init(&DeviceInfo);
    (*rom)->pUSBD->connect(TRUE);
    
    while(1);
}

void USBIRQ_IRQHandler(void)
{
  (*rom)->pUSBD->isr();
}

Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  Hid.zip ( 650 байт ) Кол-во скачиваний: 23
 


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post
Vitaliy_ARM
сообщение Sep 6 2010, 17:13
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Интересно, а кто-нибудь вообще использует HID или MSD на этом процессоре?


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 3.14   LPC13XX   Dec 1 2009, 14:27
- - 3.14   Вобщем, по SWD контроллер откликается, остается по...   Dec 2 2009, 06:44
|- - GetSmart   Цитата(3.14 @ Dec 2 2009, 12:44) Вобщем, ...   Dec 2 2009, 07:01
|- - etoja   Цитата(GetSmart @ Dec 2 2009, 10:01) LPC1...   Dec 2 2009, 07:13
- - 3.14   ARM Cortex-M3 SWD - новый дополнительный интерфейс...   Dec 2 2009, 07:24
- - 3.14   Насчет ошибки операций с флешкой, утилиты сеггера ...   Dec 2 2009, 10:28
|- - dimka76   Цитата(3.14 @ Dec 2 2009, 13:28) Насчет о...   Dec 7 2009, 06:53
|- - shahr   В LPC1300 нет JTAG. Только SWD.   Dec 11 2009, 11:17
- - 3.14   Интресно, а для чего тогда пины вывели?   Dec 11 2009, 11:42
|- - shahr   Цитата(3.14 @ Dec 11 2009, 14:42) Интресн...   Dec 15 2009, 10:59
- - 3.14   Ну да это уже не принципиально, по SWD все-равно п...   Dec 15 2009, 11:21
|- - shahr   Цитата(3.14 @ Dec 15 2009, 14:21) Ну да э...   Dec 16 2009, 15:17
- - GetSmart   Vitaliy_ARM, где разрешение прерываний в майне? U...   Sep 6 2010, 17:56
|- - Vitaliy_ARM   Цитата(GetSmart @ Sep 6 2010, 21:56) Vita...   Sep 6 2010, 18:24
|- - GetSmart   Цитата(Vitaliy_ARM @ Sep 6 2010, 23:24) В...   Sep 6 2010, 19:12
|- - Vitaliy_ARM   Цитата(GetSmart @ Sep 6 2010, 23:12) Если...   Sep 6 2010, 19:47
- - GetSmart   Нашёл такую вот инфу КодMemory Restrictions: T...   Sep 6 2010, 22:59
|- - Vitaliy_ARM   Цитата(GetSmart @ Sep 7 2010, 02:59) Нашё...   Sep 7 2010, 12:47
|- - Vitaliy_ARM   Примеры победил. Ошибка была в плате. На вывод USB...   Sep 9 2010, 12:48
- - GetSmart   Дело в том, что не подключен свой или стандартный ...   Sep 9 2010, 13:35
|- - Vitaliy_ARM   Цитата(GetSmart @ Sep 9 2010, 17:35) Дело...   Sep 9 2010, 13:41
- - igorsk   Ещё подсказка на будущее - при компиляции в С++ ре...   Sep 9 2010, 22:10
- - Vitaliy_ARM   Цитата(igorsk @ Sep 10 2010, 02:10) Ещё п...   Sep 19 2010, 18:09


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:18
Рейтинг@Mail.ru


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