27.04.2014, 15:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Как правильно обьединить порты LPC1114
Как правильно зделать, чтобы из разных пинов плучился один 8 бит порт.
Путаюсь зделать так
PHP код:
|
void port_out ()
{
LPC_GPIO1-›DIR = 0x098;
//LPC_GPIO1-›DIR |= (1‹‹4);
//LPC_GPIO1-›DIR |= (1‹‹5);
//LPC_GPIO1-›DIR |= (1‹‹8);
LPC_GPIO0-›DIR = 0x220;
//LPC_GPIO0-›DIR |= (1‹‹6);
//LPC_GPIO0-›DIR |= (1‹‹10);
LPC_GPIO3-›DIR = 0x007;
//LPC_GPIO3-›DIR |= (1‹‹0);
//LPC_GPIO3-›DIR |= (1‹‹1);
//LPC_GPIO3-›DIR |= (1‹‹2);
}
#define d_0 LPC_GPIO1-›MASKED_ACCESS[(1‹‹4)]
#define d_1 LPC_GPIO1-›MASKED_ACCESS[(1‹‹5)]
#define d_2 LPC_GPIO1-›MASKED_ACCESS[(1‹‹8)]
#define d_3 LPC_GPIO0-›MASKED_ACCESS[(1‹‹6)]
#define d_4 LPC_GPIO0-›MASKED_ACCESS[(1‹‹10)]
#define d_5 LPC_GPIO3-›MASKED_ACCESS[(1‹‹0)]
#define d_6 LPC_GPIO3-›MASKED_ACCESS[(1‹‹1)]
#define d_7 LPC_GPIO3-›MASKED_ACCESS[(1‹‹2)]
//LPC_GPIO0-›DIR |= (1‹‹2) ; //7 bit pora 0 out
//LPC_GPIO3-›MASKED_ACCESS[(1‹‹5)] = 1‹‹5;
//**
void union_ADRES( unsigned char ch )
{
union
{
unsigned char ss;
struct
{
unsigned char a0 :1;
unsigned char a1 :1;
unsigned char a2 :1;
unsigned char a3 :1;
unsigned char a4 :1;
unsigned char a5 :1;
unsigned char a6 :1;
unsigned char a7 :1;
} byte;
} cod;
cod.ss=ch;
d_0 = cod.byte.a7;
d_1 = cod.byte.a6;
d_2 = cod.byte.a5;
d_3 = cod.byte.a4;
d_4 = cod.byte.a3;
d_5 = cod.byte.a2;
d_6 = cod.byte.a1;
d_7 = cod.byte.a0;
}
|
Не работает.
|
|
|
|
27.04.2014, 15:33
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Как правильно обьединить порты LPC1114
Сообщение от sdsrem
|
Не работает.
|
А где подобное г. работает ?
__________________
Осторожно , злой кот
|
|
|
|
27.04.2014, 16:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: Как правильно обьединить порты LPC1114
Ну дык подскажи.
|
|
|
|
27.04.2014, 16:20
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Как правильно обьединить порты LPC1114
Дык не получится собрать разные пины в одну сущность ...
__________________
Осторожно , злой кот
|
|
|
|
27.04.2014, 16:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: Как правильно обьединить порты LPC1114
Это на LPC так чтоли ?.
На AVR работает.
|
|
|
|
27.04.2014, 17:09
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Как правильно обьединить порты LPC1114
Это что, первая поделка? Тогда нужно включить тактирование порта в
LPC_SYSCON-›SYSAHBCLKCTRL .
И там, насколько помню, была гадость с записью типа (1‹‹6), должно быть (1UL‹‹6).
И макросы там такие:
Код:
|
// WRITE
#define SET_PIN(port,pin) LPC_GPIO##port-›MASKED_ACCESS[(1UL‹‹pin)] = (1UL‹‹pin)
#define CLEAR_PIN(port,pin) LPC_GPIO##port-›MASKED_ACCESS[(1UL‹‹pin)] = 0
#define SET_PORT(port,pins,val) LPC_GPIO##port-›MASKED_ACCESS[pins] = val
// READ
#define GET_PIN(port,pin) LPC_GPIO##port-›MASKED_ACCESS[(1UL‹‹pin)]
#define GET_PORT(port,pins) LPC_GPIO##port-›MASKED_ACCESS[pins] |
|
|
|
|
27.04.2014, 17:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: Как правильно обьединить порты LPC1114
В майне есть тактирование
LPC_SYSCON-›SYSAHBCLKCTRL |= (1‹‹6);
port_out ();
должно быть (1UL‹‹6).
А так обязательно ?
|
|
|
|
27.04.2014, 17:34
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Как правильно обьединить порты LPC1114
Сообщение от dosikus
|
Дык не получится собрать разные пины в одну сущность ...
|
Вай , просмотрел . У тебя пины то с одного порта ...
__________________
Осторожно , злой кот
|
|
|
|
27.04.2014, 17:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
|
Re: Как правильно обьединить порты LPC1114
Как это с одного ?
LPC_ GPIO1-›DIR = 0x098;
//LPC_GPIO1-›DIR |= (1‹‹4);
//LPC_GPIO1-›DIR |= (1‹‹5);
//LPC_GPIO1-›DIR |= (1‹‹ ;
LPC_ GPIO0-›DIR = 0x220;
//LPC_GPIO0-›DIR |= (1‹‹6);
//LPC_GPIO0-›DIR |= (1‹‹10);
LPC_ GPIO3-›DIR = 0x007;
|
|
|
|
27.04.2014, 17:42
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Как правильно обьединить порты LPC1114
Тогда вообще молчу , подобными извращениями не занимался...
__________________
Осторожно , злой кот
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:24.
|
|