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

 
 
> Вопрос к профи
Sergey Abaev
сообщение Jan 23 2014, 13:14
Сообщение #1


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

Группа: Участник
Сообщений: 91
Регистрация: 4-01-10
Из: Москва
Пользователь №: 54 631



Есть вот такая маленькая программа, все отлично компилируется, но!

1. Заливаем в LPC2214, запускаем и затем все начинает на плате моргать (как и должно)
по через 10-15 секунд (время разное) как бы все зависает!

ПЕРИОДЫ ПЕРЕКЛЮЧЕНИЯ НЕ РАВНЫЕ, КАК БУДТО АРМ ПРИТОРМАЖИВАЕТ!

ПОЧЕМУ???? ЭТО ARM НЕ МОЖЕТ СПРАВИТЬСЯ С ЗАДАЧЕЙ???

Я В ARM НОВИЧОК, НО В ATMEGAX Я ТАКОГО ТУПИЗМА НЕ ВИДЕЛ! АРМ ВООБЩЕ СТРАННЫЙ ДЕВАЙС.

ПОДСКАЖИТЕ, ЧТО НЕ ТАК?

2. ЕЩЕ КОГДА ПОДАЮ ПИТАНИЕ, ВЫПОЛНЕНИЕ ПРОГРАММЫ В АРМЕ МОЖЕТ СРАЗУ ЗАПУСТИТЬСЯ, А МОЖЕТ НЕТ (
ПОМОГАЕТ ЕЩЕ РАЗ ПЕРЕЗАПУСК ПИТАНИЯ ИЛИ НОЖКА RESET

ВООБЩЕ ВСЕ СТРАННО! КАКОЕ ТО К АРМАМ ПЕРВОЕ ВПЕЧАТЛЕНИЕ - ГО..НО! НО НЕ МОЖЕТ ВЕДЬ ТАКОГО БЫТЬ????

ГДЕ ЛОГИКА?

ВСЕ КОМПИЛИЛ В KEIL UVISION 5.XX

Код
#include "lpc22xx_keil.h"

#define STATUS_LED        20 // P0 (STATUS LED)

#define RELAY1                16 // P1 (GPIO 9)
#define RELAY2                25 // P3 (GPIO 10)
#define RELAY3                24 // P3 (GPIO 11)
#define RELAY4                25 // P1 (GPIO 12)
#define RELAY5                24 // P1 (GPIO 13)
#define RELAY6                23 // P1 (GPIO 14)
#define RELAY7                12 // P0 (GPIO 15)
#define RELAY8                22 // P1 (GPIO 16)

#define INOUT1                21 // P0 (GPIO 0)
#define INOUT2                22 // P0 (GPIO 1)
#define INOUT3                23 // P0 (GPIO 2)
#define INOUT4                19 // P1 (GPIO 3)
#define INOUT5                24 // P0 (GPIO 4)
#define INOUT6                18 // P1 (GPIO 5)
#define INOUT7                25 // P0 (GPIO 6)
#define INOUT8                17 // P1 (GPIO 7)
#define INOUT9                26 // P3 (GPIO 8)

static void delay(void )
{
    volatile int i,j;

    for (i=0;i<1000;i++)
        for (j=0;j<1000;j++);
}
  
int main(void)
{
    MAMCR = 2;    

    IODIR0 |= (1<<STATUS_LED) | (1<<RELAY7) | (1<<INOUT1) | (1<<INOUT2) | (1<<INOUT3) | (1<<INOUT5) | (1<<INOUT7);
    IODIR1 |= (1<<RELAY1) | (1<<RELAY4) | (1<<RELAY5) | (1<<RELAY6) | (1<<RELAY8) | (1<<INOUT4) | (1<<INOUT6) | (1<<INOUT8);     
    IODIR3 |= (1<<RELAY2) | (1<<RELAY3) | (1<<INOUT9);     
    
    while (1)    
    {
        IOCLR0 |= (1<<STATUS_LED) | (1<<RELAY7) | (1<<INOUT1) | (1<<INOUT2) | (1<<INOUT3) | (1<<INOUT5) | (1<<INOUT7);
        IOCLR1 |= (1<<RELAY1) | (1<<RELAY4) | (1<<RELAY5) | (1<<RELAY6) | (1<<RELAY8) | (1<<INOUT4) | (1<<INOUT6) | (1<<INOUT8);     
        IOCLR3 |= (1<<RELAY2) | (1<<RELAY3) | (1<<INOUT9);     
        delay();
        IOSET0 |= (1<<STATUS_LED) | (1<<RELAY7) | (1<<INOUT1) | (1<<INOUT2) | (1<<INOUT3) | (1<<INOUT5) | (1<<INOUT7);
        IOSET1 |= (1<<RELAY1) | (1<<RELAY4) | (1<<RELAY5) | (1<<RELAY6) | (1<<RELAY8) | (1<<RELAY8) | (1<<INOUT4) | (1<<INOUT6) | (1<<INOUT8);         
        IOSET3 |= (1<<RELAY2) | (1<<RELAY3) | (1<<INOUT9);     
        delay();
    }
}


Сообщение отредактировал Sergey Abaev - Jan 23 2014, 13:24
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sadat
сообщение Jan 23 2014, 14:52
Сообщение #2


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

Группа: Свой
Сообщений: 117
Регистрация: 6-07-05
Из: Белгород
Пользователь №: 6 575



Ясно - какая-то демо-плата, к ней прицеплена обвязка из непонятно-чего...
Первым делом в разрыв проводов управления добавить 1 кОм резистор, лучше - ближе к плате, чтобы проводки "антеннами" не работали.
Что там с питанием проца - по схеме не видно источников 3v3 и 1v8? Ну, думаю, на плате все развели и надо подать только чистое 5в, так? Ну и, логично, что к этому чистому 5в подцеплены 5в релюшки?

upd.
Так это все (пред.сообщение ТС) надо было бы и написать в первом сообщении. Тут "быстрая помощь" не придет, надо перелопатить определенное количество источников знаний (книги, форум, исходники), чтобы добиться идеально рабочего устройства.
Если есть исходники рабочей программы - то лучше в них и "ковыряться"...
Go to the top of the page
 
+Quote Post
Sergey Abaev
сообщение Jan 23 2014, 16:02
Сообщение #3


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

Группа: Участник
Сообщений: 91
Регистрация: 4-01-10
Из: Москва
Пользователь №: 54 631



Цитата(sadat @ Jan 23 2014, 18:52) *
Ясно - какая-то демо-плата, к ней прицеплена обвязка из непонятно-чего...
Первым делом в разрыв проводов управления добавить 1 кОм резистор, лучше - ближе к плате, чтобы проводки "антеннами" не работали.
Что там с питанием проца - по схеме не видно источников 3v3 и 1v8? Ну, думаю, на плате все развели и надо подать только чистое 5в, так? Ну и, логично, что к этому чистому 5в подцеплены 5в релюшки?

upd.
Так это все (пред.сообщение ТС) надо было бы и написать в первом сообщении. Тут "быстрая помощь" не придет, надо перелопатить определенное количество источников знаний (книги, форум, исходники), чтобы добиться идеально рабочего устройства.
Если есть исходники рабочей программы - то лучше в них и "ковыряться"...



Да нет, исходник тут простой, нужна программа типа BlinkLed

Но как ее грамотно под АРМ написать?

Я в начале поста выложил свое творение, но возможно, что это коряво!

Вот и хочется помощи от АРМщиков, помогите написать блинк лед, хотя бы на один канал. Далее я сам размножу.

Должно быть типа этого:

....
while (1)
{
delay(); //1 сек
LED=1; // P0.20
delay() //1 сек
LED=0 // P0.20
}
....
Go to the top of the page
 
+Quote Post
Aleksandr Barano...
сообщение Jan 23 2014, 16:08
Сообщение #4


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

Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118



Цитата(Sergey Abaev @ Jan 23 2014, 11:02) *
Но это нечно:
1. не запускается когда подаю питание! только ножка ресет заставляет запуститься программу
2. иногда она виснет!
....

Как-то у меня процессор не запускался при подаче питания, потому что напряжение питания при включении нарастало слишком медленно. Не помню, насколько медленно.


--------------------
ASB
Go to the top of the page
 
+Quote Post
Sergey Abaev
сообщение Jan 23 2014, 16:12
Сообщение #5


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

Группа: Участник
Сообщений: 91
Регистрация: 4-01-10
Из: Москва
Пользователь №: 54 631



Цитата(Aleksandr Baranov @ Jan 23 2014, 20:08) *
Как-то у меня процессор не запускался при подаче питания, потому что напряжение питания при включении нарастало слишком медленно. Не помню, насколько медленно.


Тут на это дело стоит супервизор. Он нормально контролирует этот вопрос.
Go to the top of the page
 
+Quote Post
Aleksandr Barano...
сообщение Jan 23 2014, 16:43
Сообщение #6


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

Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118



Цитата(Sergey Abaev @ Jan 23 2014, 11:12) *
Тут на это дело стоит супервизор. Он нормально контролирует этот вопрос.

У меня тоже на это дело стоял супервизор.


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

Сообщений в этой теме
- Sergey Abaev   Вопрос к профи   Jan 23 2014, 13:14
- - OlegH   Похоже, к выходам контроллера реле подключены ? а ...   Jan 23 2014, 13:27
|- - Sergey Abaev   Цитата(OlegH @ Jan 23 2014, 17:27) Похоже...   Jan 23 2014, 13:31
- - coolbassnik   Может вывод RESET не подтянут должным образом ? Во...   Jan 23 2014, 13:29
- - DASM   КАКОЕ ТО К АВТОРУ ПЕРВОЕ ВПЕЧАТЛЕНИЕ - ГО..НО...   Jan 23 2014, 13:32
- - coolbassnik   На транзистор ток ограничиваете в базу или это пол...   Jan 23 2014, 13:36
|- - Sergey Abaev   Цитата(coolbassnik @ Jan 23 2014, 17:36) ...   Jan 23 2014, 13:40
- - sadat   Релюшки, надеюсь, диодами зашунтированы? Что комму...   Jan 23 2014, 14:26
|- - Sergey Abaev   Цитата(sadat @ Jan 23 2014, 18:26) Релюшк...   Jan 23 2014, 14:30
- - Golikov A.   а еще поглядеть бы хорошо, не отрубается ли ПЛЛ, и...   Jan 23 2014, 14:32
- - sadat   "Фото платы в студию" ©..... да и схемку...   Jan 23 2014, 14:40
|- - Sergey Abaev   Цитата(sadat @ Jan 23 2014, 18:40) ...   Jan 23 2014, 14:50
|- - alx2   Цитата(Sergey Abaev @ Jan 23 2014, 19:50)...   Jan 24 2014, 13:14
|- - jcxz   Цитата(alx2 @ Jan 24 2014, 19:14) Вы выло...   Jan 25 2014, 05:33
|- - DASM   Цитата(Sergey Abaev @ Jan 23 2014, 20:12)...   Jan 23 2014, 16:23
- - SyncLair   С точки зрения Арма -- мне как программисту кажетс...   Jan 24 2014, 13:01
- - Mihey_K   Плата заводская, тем более с SDRAM, так что отброс...   Jan 26 2014, 02:12


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 04:29
Рейтинг@Mail.ru


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