adc 0 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба Прошу помочь стартануть. Использую:IAR6.10, MT-link, кит плата LPC-H2103. Взял ИАРовский пример "IARMiniDev" Пытаюсь переделать под мигание диодом на плате LPC-H2103. Ничего не получается... делаю так: int main(void) { // Disable PLL PLLCON = 0; // Write Feed PLLFEED = 0xAA; PLLFEED = 0x55; // Set periphery divider /4 APBDIV_bit.APBDIV = 0; // Memory map init flash memory is mapped on 0 address #ifdef FLASH MEMMAP_bit.MAP = 1; #else MEMMAP_bit.MAP = 2; #endif // Init variables PatternInd = 0; pNextPattern = pLedPatterns[0]; __disable_interrupt(); // Init VIC VicInit(); // Init GPIO PINSEL0 = PINSEL1 = 0; // Disable fast IO SCS_bit.GPIO0M = 0; // Set pins connect to LEDs as outputs IODIR = LED_MASK; // All LEDs off IOCLR = LED_MASK; KeysInit(); // Init timer // Reset and stop timer0 T0TCR = 2; // Set timer counters mode - clock by PCLK T0CTCR = 0; // Set timer prescaler T0PR = 0; // Set timer period T0MR0 = PCCLK/TICK_PER_SEC; // Set match action - interrupt by MACH0 enable, reset counter T0MCR = 3; // No external action T0EMR = 0; // Assign to IRQ VICIntSelect_bit.TIMER0 = 0; // Set interrupt slots VICVectAddr3 = (unsigned int) Timer0Handler; VICVectCntl3_bit.NUMBER = VIC_TIMER0; VICVectCntl3_bit.ENABLED = 1; // Timer 0 interrupt enable VICIntEnable_bit.TIMER0 = 1; // Enable timer0 T0TCR = 1; // __enable_interrupt(); while(1) { FIOCLR = LED_MASK; // wait(); FIOSET = LED_MASK; //wait(); }; } // main(void) В режиме пошаговой отладки диод нереагирует пробовал так: IOCLR = LED_MASK; // wait(); IOSET = LED_MASK; //wait(); Результата тоже нет. В настройках проекта (ROMstart= 0x00000044, RAMstart=0x40000040) Проект прикладываю.Схему платы тоже. v03_lsp2103_blink.zip LPC2103.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба Диодик, как я понимаю, "STAT green" ? Вопросы на засыпку: - к какой ножке МК он подключен? - какой ножкой (ножками) МК Вы управляете? Ну и претензия к Станимиру Боневу, что написал этот пример - мог бы расписать, что и куда подключено на IAR-LPC-2103 Mini evaluation board. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adc 0 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба Диодик, как я понимаю, "STAT green" ? да. Вопросы на засыпку: - к какой ножке МК он подключен? - какой ножкой (ножками) МК Вы управляете? Пин P0.26. Ну вот собственно и непонятно как ножками(или ножкой) то дрыгать. По аналогии с инициализацией порта пытался сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба Не надо делать "по аналогии". Надо делать по документации. Работает гораздо лучше, я проверял :) #define BIT(x) (1UL<<(x)) IO0DIR = BIT(26); // настроили на выход IO0SET = BIT(26); // погасили IO0CLR = BIT(26); // зажгли LED_MASK, если Вы ничего не меняли в примере, дёргает совсем другие ножки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба Прошу помочь стартануть. Напишите хоть три строчки НО СВОИ а не copy-paste. Ну и претензия к Станимиру Боневу, что написал этот пример Это Вы еще мало творчества примерописателей видимо видели :(. Бонев один из самых вменяемых, поверьте! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adc 0 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба На это пишет что порты неопределены: Error[Pe020]: identifier "IO0DIR" is undefined Error[Pe020]: identifier "IO0SET" is undefined Error[Pe020]: identifier "IO0CLR" is undefined Где их надо определить? зы: Си и IAR начинаю изучать, и по этому еще не привык к организации проекта. Сильно не пинайте, как сейчас говорят. Напишите хоть три строчки НО СВОИ а не copy-paste. Ну вот и попробовал. Кругом куча граблей. Заливаю прошивку а выхлопа нет. Хотелось бы запустить на чужом примере, а потом разобраться в достоинствах и недостатках кода и примера. Ну что тут плохого? Добавляешь своего кода(не копипаст) в программу пример и проверяешь адекватность полученного ожидаемому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба А это уже ко мне претензия :) На более "толстых" камнях помимо порта 0 есть и 1,2,3,4, соответственно, там эти регистры нумерованные. В документации на LPC2101..2103 эти регистры значатся без индекса - просто IODIR, IOSET, IOCLR. Думаю, в хедере IAR'а iolpc2103.h сделано точно так же. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adc 0 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба В документации на LPC2101..2103 эти регистры значатся без индекса О! оно.. вот так заработала: IOSET = BIT(26); // погасили IOCLR = BIT(26); // зажгли Спасибо! :cheers: Буду капать дальше! Подскажите что означает 1UL в #define BIT(x) (1UL<<(x)) В хелпе iar найти неполучается.. По файлу они везде: #define FOSC 14745600UL #define TICK_PER_SEC (8UL) #define TIM_DPER ((PCCLK*DELTA_PER)/1000UL) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба Подскажите что означает 1UL в Б. Керниган, Д. Ритчи Язык программирования Си раздел "константы". Ну и остальные разделы тоже стоит прочитать :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adc 0 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба Б. Керниган, Д. Ритчи Язык программирования Си раздел "константы". В книге нет описания. Нашел здесь UL тип данных (unsigned long int). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 15 декабря, 2010 Опубликовано 15 декабря, 2010 · Жалоба Погуглил. Действительно, в первом издании (и что оно в интернетах делает?) этого нет. Читайте второе! K_R_C_Language.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться