Перейти к содержанию
    

Не могу зажечь светодиод на ноге у LPC2368

Опыта пока нет, но можно побетатестировать вот такую плату на LPC2368 в режиме онлайн:

 

board.jpg

 

Здесь!

 

Есть у меня такая платка, штука интересная, прошивать ее не надо, просто достаточно кинуть bin-файл на флешку(сама платка как-бы ею и является). Вот только как HEX-файл от Keil заставить в ней работать ?

Может есть конвертер какой ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь такой вопрос: как научить Keil шить через H-Flasher?

 

Найден ли ответ на этот вопрос ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема - не могу зажечь светодиод на ноге P1.23 контроллера - LPC2368.

 

 

#include <LPC23xx.h>

#define dword unsigned long int


void set_pin(dword p)
{
IOSET1=p;
}


void clear_pin(dword p)
{
IOCLR1=p;
}


void init_pins(dword p)
{
IODIR1=p;
}


#define PIN 1<<23



unsigned int i,j,z;



void main(void) {



init_pins(PIN);

z=123;


while (1)
{

set_pin(PIN);

for (i=1;i<10000;i++) j=z*z;

clear_pin(PIN);

for (i=1;i<10000;i++) j=z*z;

}

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IOSET1, IODIR1, IOCLR1 - что-то я не нашел в даташите таких регистров, зато есть - IO1SET, IO1DIR, IO1CLR.

Или у Вас в хидере они так обозначены? ;)

Ну, и переименовывать типы данных надо через typedef, а не - define.

Изменено пользователем stasyud

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IOSET1, IODIR1, IOCLR1 - что-то я не нашел в даташите таких регистров, зато есть - IO1SET, IO1DIR, IO1CLR.

Или у Вас в хидере они так обозначены? ;)

Ну, и переименовывать типы данных надо через typedef, а не - define.

Ерунда... Такие регистры есть(по крайней мере были)...

Да и через define можно ввести DWORD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полагаю, если бы их не было, то Keil просто не позволил бы создать HEX-файл и вывел сообщения о ошибках ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Светодиод не зажигается при присоединении к любому из выводов этого порта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ерунда... Такие регистры есть(по крайней мере были)...

В юзер мануале их нету, зато в кейловском хидере они есть)))

 

Проверил в железе - код работает, правда в функции задержки добавил по нолику, чтобы подольше были.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверил в железе - код работает, правда в функции задержки добавил по нолику, чтобы подольше были.

 

А что за железо ?

 

Я проверял на такой платке:

http://starterkit.ru/html/index.php?name=s...p=view&id=9

 

 

Спасибо доброму модератору, добавившему два моих сообщения из других тем в эту тему.

Наверное, это должно привести к ускорению ответа на них.

:)

Изменено пользователем ArtemDement

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что за железо ?

Плата самодельная, в вашем коде изменил только ногу порта для светодиода

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вы случайно в SCS бит GPIOM в "1" не установили?

 

Да, был установлен на "1", но смена на "0" ситуацию не изменила - мигать светодиодом не получается.

 

Продолжаю тестировать SK-MLPC2368.

 

Вот код для отправки символов по UART.

Этот код нормально работал с LPC2104, прошиваю в SK-MLPC2368 - никакой реакции.

 

#include <LPC23xx.h>

#define byte unsigned char


void init_serial (void) /* Initialize Serial Interface */
{
PINSEL0 = 0x00000005; /* Enable RxD0 and TxD0 */
U0LCR = 0x00000083; /* 8 bits, no Parity, 1 Stop bit */
U0DLL = 110; /* 9600 Baud Rate 15MHz VPB Clock */
U0LCR = 0x00000003; /* DLAB = 0 */
}


byte send_byte (byte ch) /* Write character to Serial Port */
{
while (!(U0LSR & 0x20));
return (U0THR = ch);
}


byte b;

void main(void) {

init_serial();


while (1)
{
send_byte(b);
b++;
}


}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...