|
LPC1114 + Keil, вопросы |
|
|
|
Nov 24 2010, 13:46
|
Частый гость
Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425
|
Доброго времени суток ! 1. Подскажите как разместить переменную в памяти программы ? [разобрался] под С51 было так... Код const uint8_t code var_name; сейчас достаточно так... Код const uint8_t var_name; ____________________________________________________________________
|
|
|
|
|
Nov 24 2010, 15:12
|
Частый гость
Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425
|
Судя по всему тему создал с горяча... Код const uint8_t Symbol[10] = {SYMBOL_0, SYMBOL_1, SYMBOL_2, SYMBOL_3, SYMBOL_4, SYMBOL_5, SYMBOL_6, SYMBOL_7, SYMBOL_8, SYMBOL_9}; Код Symbol 0x00000d48 Data 10 indic.o(.constdata) что говорит о том, что массив лежит во флэш и спецификатора const вполне достаточно...
|
|
|
|
|
Nov 26 2010, 10:14
|
Частый гость
Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425
|
дык...первым делом - мануал, вторым - примеры NXP...просто так сюда не пишу, в основном - читаю... Код //=====================================================================
void Init_I2C (){ LPC_IOCON->PIO0_4 |= ((1<<0)); //Selects I2C function SCL (open-drain pin) LPC_IOCON->PIO0_5 |= ((1<<0)); //Selects I2C function SDA (open-drain pin)
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<5); //Enables clock for I2C LPC_SYSCON->PRESETCTRL |= (1<<1); //De-asserts reset for I2C LPC_I2C->SCLL = 480; LPC_I2C->SCLH = 480;
LPC_I2C->CONCLR = ((1<<2) | (1<<3) | (1<<5)); NVIC_EnableIRQ(I2C_IRQn); LPC_I2C->CONSET |= (1<<6); }
//================================================================================ =======
void I2C_IRQHandler (){ uint8_t StatValue = LPC_I2C->STAT; test_i2c = StatValue; switch(StatValue){ case 0x08: LPC_I2C->DAT = 0xA1; LPC_I2C->CONCLR |= ((1<<3) | (1<<5)); break; case 0x10: LPC_I2C->DAT = 0xA1; LPC_I2C->CONCLR |= ((1<<3) | (1<<5)); break; case 0x18: LPC_I2C->DAT = 0xFF; break; default: LPC_I2C->CONCLR |= (1<<3); } SW_1_TOG; } проблема состоит в том, что нет я не вижу сигнала START (осцил-ом), но он как-бы есть (test_i2c = 8 - слежу через модбас, зажигается SW_1) - а дальше тишина...
|
|
|
|
|
Nov 29 2010, 12:03
|
Частый гость
Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425
|
Цитата(rezident @ Nov 26 2010, 11:42) А чего там бороть-то? Взял пример I2C из папки \arm\examples\NXP\LPC11xx\IAR-LPC-1114-SK в IAR EWARM 5.50.5 и с полпинка завел этот I2C. Правда у меня не EEPROM была подключена, а LCD на PCF8535. если не сложно - прицепите тестовый проект ИАРа START condition увидел...mdk-ARM симулирует...в железе - не работает...все еще нуждаюсь в пинкЕ...
|
|
|
|
|
Nov 30 2010, 06:55
|
Частый гость
Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425
|
Цитата(toweroff @ Nov 29 2010, 20:57) swisst, а резисторы-то к питанию притянуты? разумеется - обе линии (и SCL, и SDA)... Цитата(rezident @ Nov 30 2010, 00:36) Не уверен, что вы сможете это очень просто адаптировать под Keil, но попробуйте. спасибо - поковыряю...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|