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

 
 
> LPC2103 вопросы по GPIO, и т.д....
Папа Карло
сообщение Mar 28 2008, 16:05
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 176
Регистрация: 15-02-08
Из: Москва
Пользователь №: 35 074



Здравствуйте господа.

Недавно собрал свой первый МК на АРМ LPC2103.

С божий помощью он как то подключился к COM-порту и определился в Flash Magic.
Посмотрел я примеры для дерганья ногами МК и написал программу.

Программа прошивается и проходит проверку, но ноги не дёргаются.

Пробовал сам дёргать таким кодом:
Код
#include "lpc2103.h"

int main(void)
{
IODIR |= 0xffffffffL;
IOSET = 0x2000;
}


По идее я ждал. что загорится светодиод, который подключён к резистору 330Ом, а тот к земле.
Но ничего не произошло.

Записал программу миганием светодиодами из примеров в IAR 5.11, но ноги тоже не дёргаются и диодик не горит.

Подскажите пожалуйста минимальную программу для включения диода?

Нога у МК P0.13.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 24)
oll
сообщение Mar 28 2008, 19:26
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 10-10-05
Пользователь №: 9 463



а ногу p0.14 подтянули через 10к к 3В ?
Go to the top of the page
 
+Quote Post
Папа Карло
сообщение Mar 28 2008, 19:50
Сообщение #3


Частый гость
**

Группа: Новичок
Сообщений: 176
Регистрация: 15-02-08
Из: Москва
Пользователь №: 35 074



Подтянул через резистор 56к
Go to the top of the page
 
+Quote Post
InsolentS
сообщение Mar 28 2008, 20:03
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897



Раз уж речь зашла про GPIO, подскажите пожалуйста, можно ли одновременно использовать вывод MOSI в режиме SPI, а вывод MISO просто как GPIO? проц LPC213x


--------------------
Курильщик даташитов со стажем
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Mar 28 2008, 20:29
Сообщение #5


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(InsolentS)
Раз уж речь зашла про GPIO, подскажите пожалуйста, можно ли одновременно использовать вывод MOSI в режиме SPI, а вывод MISO просто как GPIO? проц LPC213x
Можно. Можно даже один SCK выводить.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Папа Карло
сообщение Mar 28 2008, 21:08
Сообщение #6


Частый гость
**

Группа: Новичок
Сообщений: 176
Регистрация: 15-02-08
Из: Москва
Пользователь №: 35 074



Хочу добавить, что выводы RTCK и DBGSEL не подключены.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Mar 29 2008, 05:37
Сообщение #7


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Опции проекта могут быть неправильными.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
oll
сообщение Mar 29 2008, 06:29
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 10-10-05
Пользователь №: 9 463



рабочий пример для Keil - переделал на кварц 14.7мГц , пробовал - мигает
брал тут http://www.micro4you.com/zencart/index.php...products_id=180
Прикрепленные файлы
Прикрепленный файл  led.zip ( 40.18 килобайт ) Кол-во скачиваний: 42
 
Go to the top of the page
 
+Quote Post
Папа Карло
сообщение Mar 29 2008, 07:26
Сообщение #9


Частый гость
**

Группа: Новичок
Сообщений: 176
Регистрация: 15-02-08
Из: Москва
Пользователь №: 35 074



Вот один из проектов, который не работает.
Он под IAR 5.11

Если кому несложно глянте плиз.

Цитата(oll @ Mar 29 2008, 09:29) *


Спасибо за пример, он дёргается 1111493779.gif
Прикрепленные файлы
Прикрепленный файл  PHIL40_03_LED.zip ( 51.67 килобайт ) Кол-во скачиваний: 39
 
Go to the top of the page
 
+Quote Post
oll
сообщение Mar 29 2008, 07:58
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 10-10-05
Пользователь №: 9 463



с IAR не работал - там вроде надо править XCL файл, чтоб работало во флэш
посмотрите, может поможет - http://www.caxapa.ru/lib/lpc2000.html и
http://forum.radiospec.ru/index.php?showto...amp;#entry34477
второе, правда для ADUc-ов
задайте вопрос на Сахаре
Go to the top of the page
 
+Quote Post
Папа Карло
сообщение Mar 29 2008, 14:16
Сообщение #11


Частый гость
**

Группа: Новичок
Сообщений: 176
Регистрация: 15-02-08
Из: Москва
Пользователь №: 35 074



Наконец я решил проблему с нерабочей платой.

Решение было простое:
заходим в "ПУСК->Панель Управления->Установка удаление программ->IAR->Удалить"

После чего всё заработало и мой диодик ярко замигал.

Если у кого есть другие методы, было бы интересно узнать.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Mar 29 2008, 14:34
Сообщение #12


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Папа Карло)
Если у кого есть другие методы, было бы интересно узнать.
Попробуй format c:
действует безотказно smile.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
oll
сообщение Mar 29 2008, 16:45
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 10-10-05
Пользователь №: 9 463



Да уж - нет доверия компиляторам.
Писать что ли на ассемблере? Где лежат ассемблерные библиотеки для АРМов?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 29 2008, 16:53
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Папа Карло @ Mar 29 2008, 17:16) *
Если у кого есть другие методы, было бы интересно узнать.

Moderator:
Для обсуждения Ваших """методов""" тему перенес в "Off Topic". Можете продолжать....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sergeyip
сообщение Mar 30 2008, 09:40
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 251
Регистрация: 15-12-05
Из: Москва
Пользователь №: 12 247



Цитата(oll @ Mar 29 2008, 10:29) *
рабочий пример для Keil -

Тот же самый пример- проект переведен в ИАР. Недавно - квартал назат скачал ИАР и уже он устарел. Проект Папы Карло не открывается в моей среде. Диодики в ИАРЕ стали мигать медленнее, поэтому константу задержки 6666 я заменил на 1000:)

Сообщение отредактировал sergeyip - Mar 30 2008, 09:42
Прикрепленные файлы
Прикрепленный файл  Led_mod.zip ( 16.54 килобайт ) Кол-во скачиваний: 37
 
Go to the top of the page
 
+Quote Post
Папа Карло
сообщение Mar 30 2008, 15:56
Сообщение #16


Частый гость
**

Группа: Новичок
Сообщений: 176
Регистрация: 15-02-08
Из: Москва
Пользователь №: 35 074



Всем привет.

Появились неясности в программировании МК LPC2103.

Среда теперь Keil демо с сайта язык СИ.

Первое, тактирование МК.
У меня внешний кварц на 12МГц.
МК сам запускается от внешнего кварца или его надо переключать ?

Пробовал настроить UART на 9600, но вышло 19200.

Вот настройки:
Код
  PINSEL0 = 0x00000005;           /* Enable RxD0 and TxD0                     */
  U0FCR = 0x7;//Enable FIFO
  U0LCR = 0x83;                   /* 8 bits, no Parity, 1 Stop bit            */
  U0DLL = 48;                     /* 9600 Baud Rate @ 12MHz VPB Clock         */
  U0DLM = 0;
  U0LCR = 0x03;                   /* DLAB = 0*/


Что я не правильно настроил ?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 30 2008, 16:30
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Посчитали неправильно: 12000000 / 16 / 48 = 15625.
Go to the top of the page
 
+Quote Post
KRS
сообщение Mar 30 2008, 16:42
Сообщение #18


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Папа Карло @ Mar 30 2008, 18:56) *
Среда теперь Keil демо с сайта язык СИ.


Цитата(Папа Карло @ Mar 30 2008, 18:56) *
Пробовал настроить UART на 9600, но вышло 19200.


При таких настойах если у вас получилось 19200, то кварц у вас 14.7456 МГЦ ( если конечно VPDIV у вас 1, если мне не изменяет память по умолчанию он 4, и PLL вы не включали).

ЗЫ А как насчет простого решения снети теперь Keil и поставить например CrossWorks
Go to the top of the page
 
+Quote Post
Папа Карло
сообщение Mar 30 2008, 16:59
Сообщение #19


Частый гость
**

Группа: Новичок
Сообщений: 176
Регистрация: 15-02-08
Из: Москва
Пользователь №: 35 074



Цитата(aaarrr @ Mar 30 2008, 20:30) *
Посчитали неправильно: 12000000 / 16 / 48 = 15625.


Если у меня стоит 15625 бод, то будет работать с компьютером у которого 19200 бод ?

На кварце написано 12МГц.

PLL настроился сам стартовой программой.
Там написано так:
MSEL 5
PSEL 2

VPDIV галочка убрана и он не настраивался.

Посчитал, и правда по формлам у меня кварц 14МГц.

Как это возможно?
У кварца стоят конденсаторы на 22пФ.
Go to the top of the page
 
+Quote Post
KRS
сообщение Mar 30 2008, 16:59
Сообщение #20


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Папа Карло @ Mar 30 2008, 20:53) *
Если у меня стоит 15625 бод, то будет работать с компьютером у которого 19200 бод ?

На кварце написано 12МГц.

PLL настроился сам стартовой программой.
Там написано так:
MSEL 5
PSEL 2

VPDIV галочка убрана и он не настраивался.

Так у вас частота 60 МГц переферии 60/4 = 15
UART получается 15000000/16/48 = 19531
Go to the top of the page
 
+Quote Post
Папа Карло
сообщение Mar 30 2008, 17:14
Сообщение #21


Частый гость
**

Группа: Новичок
Сообщений: 176
Регистрация: 15-02-08
Из: Москва
Пользователь №: 35 074



С делителем 98 заработало на 9600 бод.

Ещё проблемка.

Взял функции из примеров на сайте NXP по передаче строки в UART.

Код
#define TEMT (1<<6)

void send_uart0(unsigned char b)
{
while( !(U0LSR & TEMT) );
U0THR = b;
}

void PrintString(const char *s)
{
while(*s)
    {
    if(*s == '\n')
        send_uart0('\r');
    send_uart0(*s);
    s++;
    }
}


После нескольких вот таких вызовов:
Код
PrintString("Start program.\r");


МК зависает.

Сообщение отредактировал Папа Карло - Mar 30 2008, 17:15
Go to the top of the page
 
+Quote Post
Wano
сообщение Mar 30 2008, 20:11
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 3-06-06
Пользователь №: 17 737



Хорошо бы глянуть в отладчике куда переходит и в каком месте процессор.
Go to the top of the page
 
+Quote Post
sergeyip
сообщение Mar 30 2008, 20:51
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 251
Регистрация: 15-12-05
Из: Москва
Пользователь №: 12 247



Цитата(Папа Карло @ Mar 30 2008, 21:14) *
Ещё проблемка.
МК зависает.

Нужно целиком программу прикладывать. Подпрограммы NXP без ошибок, глюк наверняка у вас в теле программы.
Go to the top of the page
 
+Quote Post
Папа Карло
сообщение Mar 31 2008, 08:17
Сообщение #24


Частый гость
**

Группа: Новичок
Сообщений: 176
Регистрация: 15-02-08
Из: Москва
Пользователь №: 35 074



Вот проект.

И ещё, подскажите плиз.

Есть ли внутренняя подтяжка входов, как у AVR ?
Чтоб внешние резисторы не ставить.
Прикрепленные файлы
Прикрепленный файл  uart1.zip ( 45.8 килобайт ) Кол-во скачиваний: 23
 
Go to the top of the page
 
+Quote Post
sergeyip
сообщение Apr 1 2008, 09:30
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 251
Регистрация: 15-12-05
Из: Москва
Пользователь №: 12 247



Цитата(Папа Карло @ Mar 31 2008, 12:17) *
Вот проект.
Все переменные, которые используются в ПП прерывания и в основной программе , одновременно, должны объявляться определителем volatile smile.gif

Сообщение отредактировал sergeyip - Apr 1 2008, 09:35
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 20:44
Рейтинг@Mail.ru


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