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

 
 
> помигать светодиодиком в lpc2478, не получается(((
_Ivan_33
сообщение Apr 8 2011, 20:04
Сообщение #1


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



здравствуйте! не получается помигать светодиодиком на данном проце
компилятор - keil
CODE

#include "stdio.h"
#include "LPC23XX.h"

void wait (void) { /* wait function */
int d;

for (d = 0; d < 1000000; d++); /* only to delay for LED flashes */
}

int main(void){
IODIR0 = 0x00000180;

while(1){
IOSET0 = 0x00000080;
// wait();
IOCLR0 = 0x000000100;
};
return 0;
}

плата sk-lpc2478-s3e
стартап был сконфигурирован кейлом самостоятельно и правки туда не вводились...
помогите пожалуйста!


--------------------
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
DpInRock
сообщение Apr 9 2011, 09:34
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Ну, wait закоментирован...
А по программе ничего мигать не должно. Т.е. все правильно не мигает.

Чтобы мигать - надо значение порта (портов) менять на противоположное.
У вас значение P0.7 устанавливается в 1 и значение P0.8 устанавливается в 0. Много раз.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Apr 9 2011, 15:11
Сообщение #3


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



CODE
#include "stdio.h"
#include "LPC23XX.h"

void wait (void) { /* wait function */
int d;

for (d = 0; d < 1000000; d++); /* only to delay for LED flashes */
}

int main(void){
IODIR0 = 0xffffffff;
IOCLR0 = 0xffffffff;
while(1){
//IOSET0 = 0x00000080;
//wait();
//IOCLR0 = 0x00000080;
//wait();
};
return 0;
}

на порте держится стабильно 3,3 вольта...
дохлый проц? хотя все нормально прошивается и стирается...
или я уже порты успел пожечь...


--------------------
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Apr 9 2011, 16:03
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Вам знакомо назначение "//"?
Это обозначение комментариев.
--
Уберете комментарии, попробуйте долго смотреть на светодиод. Не спешите.

Сообщение отредактировал DpInRock - Apr 9 2011, 16:07


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Apr 9 2011, 17:49
Сообщение #5


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



да знакомо... этим я специально воспользовался...
но когда пишешь процу убрать все ноги порта в 0, а на них вольтметром получается 3,3 вольта, то это настораживает...

а что за регистр IOPIN - за что он отвечает непонятно...?
GPIO Port Pin value register. The current state of the GPIO
configured port pins can always be read from this register,
regardless of pin direction. By writing to this register port’s pins will
be set to the desired level instantaneously.
текущее состояние конфигурируемых выводов порта может быть прочитано из этого регистра, независимо вход или выход этот вывод. При записи в этот регистр, выводы порта будут поставлены в необходимый уровень мгновенно.
То есть если я пишу в один его бит единицу, то вывод если он выход будет поставлен в лог 1, так?

точнее дело так... светодиод горит, но очень тускло, если на него смотреть сверху - то видно горение, сбоку - нет. когда его подключаешь к +3,3 вольтам горит ярко, так что светодиод исправен. подключен через резистор в 560 ом.

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


--------------------
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Apr 9 2011, 21:09
Сообщение #6


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



вот мой проект
Прикрепленные файлы
Прикрепленный файл  led.rar ( 93.48 килобайт ) Кол-во скачиваний: 22
 


--------------------
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Apr 9 2011, 21:22
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Вот там есть файл LPC2400.s

Если хотите стать человеком, то надо разобрать все, что делает этот файл. Причем, не обязательно КАК. Главное - что.
---

Попробуйте поставить в процедуре WAIT вместо "int d" "volatile int d".


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Apr 9 2011, 22:22
Сообщение #8


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



добавление volatile ничего не дает, так как это локальная переменная и в прерываниях и других функциях не используется вроде бы...
я понимаю, чтобы считать себя юным падаваном армов я эти 1500 строк кода должен понимать что каждая строка значит, но ведь мой путь тернистый разве стоит начинать именно с этого?


--------------------
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Apr 10 2011, 08:29
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Не что значит, а ДЛЯ ЧЕГО.

Там идет настройка PLL. Вы должны понимать на какой частоте работает процессор. Ибо откуда вы знаете какой будет задержка в этом случае?

Там идет настройка ФУНКЦИЙ пинов (PINSELx). Не направления, а функций. После которых ваши попытки сменить (установить направление) могут быть бесполезными.
(Не говорю, что будут, говорю, что могут быть).

Цитата
добавление volatile ничего не дает

Если оптимизатор включен на полную, то вполне себе может дать.

Цитата
но ведь мой путь тернистый разве стоит начинать именно с этого

Начинать надо, разумеется, не с этого.
А с чтения user manual на этот процессор. И вот примеры программ в этом случае будут как нельзя кстати.

---
Ну и мозг включать тоже надо. К примеру, вы пробовали разную задержку? Вы пробовали просто погасить или просто зажечь. Чтоб хотя бы разницу заметить, если у вас осциллографа под рукой нет?



--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Apr 10 2011, 09:53
Сообщение #10


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



пробовал и погасить и зажечь, не получалось
оптимизатор стоит на -O0
юзер мануал я читал и как раз эти строки кода оттуда скоммуниздил...
в свойствах проекта я указал 12 мегагерц частоту, так 12 мегагерц и должно вроде быть...
про PINSEL сейчас буду разбираться




--------------------
Go to the top of the page
 
+Quote Post
S1LENCE
сообщение Apr 11 2011, 06:32
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990



Может вместо #include "LPC23XX.h" нужно #include "LPC24XX.h" ?
А на схематике все нормально?
PINSEL - выбор назначения пина тут не нужно, тоесть должен быть =0 как обычный инпут/аутпут
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Apr 11 2011, 16:54
Сообщение #12


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



я нашел этот файл вот тут - http://ics.nxp.com/products/lpc2000/lpc24xx/
Sample Code Bundle for LPC23xx/LPC24xx Peripherals using Keil's μVision V1.60 (Mar 10, 2009)
ну скиньте мне тогда lpc24XX.h у кого есть пожалуйста и стартап если можно на 12 мегагерц
по схематике быть ошибок не должно - плата от стартеркита)


--------------------
Go to the top of the page
 
+Quote Post
skripach
сообщение Apr 11 2011, 17:26
Сообщение #13


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Чем прошиваете?


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Apr 11 2011, 19:43
Сообщение #14


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



флешмеджиком в связке с arm-usb-ocd


--------------------
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Apr 12 2011, 21:40
Сообщение #15


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



товарищи... чудеса продолжаются...
дали мне прошивку - работает -светодиод мигает...
текст программы я взял оттуда...
кстати,сделал теперь на линуксе себе компилятор Sourcery G++ Lite 2010.09-51 for ARM EABI
скрестил с эклипсом - работает, компилит и прочее...
но вот опять... я даже не могу светодиодик зажечь... crying.gif
тот же порт, тот же пин, те же строки...
что вообще за хрень!?!??!?

прошиваю теперь из консольки lpc21isp
проект прикрепляю...
Прикрепленные файлы
Прикрепленный файл  blink.rar ( 59.59 килобайт ) Кол-во скачиваний: 15
 


--------------------
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 02:26
Рейтинг@Mail.ru


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