|
Вопрос к профи |
|
|
|
Jan 23 2014, 13:14
|
Частый гость
 
Группа: Участник
Сообщений: 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
|
|
|
|
|
 |
Ответов
|
Jan 23 2014, 14:52
|

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

|
Ясно - какая-то демо-плата, к ней прицеплена обвязка из непонятно-чего... Первым делом в разрыв проводов управления добавить 1 кОм резистор, лучше - ближе к плате, чтобы проводки "антеннами" не работали. Что там с питанием проца - по схеме не видно источников 3v3 и 1v8? Ну, думаю, на плате все развели и надо подать только чистое 5в, так? Ну и, логично, что к этому чистому 5в подцеплены 5в релюшки?
upd. Так это все (пред.сообщение ТС) надо было бы и написать в первом сообщении. Тут "быстрая помощь" не придет, надо перелопатить определенное количество источников знаний (книги, форум, исходники), чтобы добиться идеально рабочего устройства. Если есть исходники рабочей программы - то лучше в них и "ковыряться"...
|
|
|
|
|
Jan 23 2014, 16:02
|
Частый гость
 
Группа: Участник
Сообщений: 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 } ....
|
|
|
|
|
Jan 23 2014, 16:08
|
Частый гость
 
Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118

|
Цитата(Sergey Abaev @ Jan 23 2014, 11:02)  Но это нечно: 1. не запускается когда подаю питание! только ножка ресет заставляет запуститься программу 2. иногда она виснет! .... Как-то у меня процессор не запускался при подаче питания, потому что напряжение питания при включении нарастало слишком медленно. Не помню, насколько медленно.
--------------------
ASB
|
|
|
|
Сообщений в этой теме
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   Sergey Abaev Цитата(Aleksandr Baranov @ Jan 23 2014, 20... Jan 23 2014, 16:12    DASM Цитата(Sergey Abaev @ Jan 23 2014, 20:12)... Jan 23 2014, 16:23    Aleksandr Baranov Цитата(Sergey Abaev @ Jan 23 2014, 11:12)... Jan 23 2014, 16:43 SyncLair С точки зрения Арма -- мне как программисту кажетс... Jan 24 2014, 13:01 Mihey_K Плата заводская, тем более с SDRAM, так что отброс... Jan 26 2014, 02:12
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|