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

 
 
> Как в Кейле задать битовые регистры
Romanello
сообщение Feb 15 2006, 12:05
Сообщение #1


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

Группа: Свой
Сообщений: 138
Регистрация: 10-03-05
Пользователь №: 3 204



Раньше работал в IARe, но потом задолбал этот глючный компилер и стал работать в Кейле, но появилась проблема, если в иаре было можно вот так описать биты портов, то как это сделать в кейле не знаю


__IO_REG32_BIT(IO1PIN, 0xE0028010,__READ_WRITE,__gpio1_bits);
__IO_REG32_BIT(IO1SET, 0xE0028014,__READ_WRITE,__gpio1_bits);
__IO_REG32_BIT(IO1DIR, 0xE0028018,__READ_WRITE,__gpio1_bits);
__IO_REG32_BIT(IO1CLR, 0xE002801C,__WRITE ,__gpio1_bits);
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ALexx
сообщение Feb 15 2006, 14:37
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 22-09-04
Из: Burbach, Germany
Пользователь №: 704



Делаю таким образом (выдержка из хидера )


// General Purpose Input/Output (GPIO)
#define IOPIN0 (*((volatile unsigned long *) 0xE0028000))
#define IOSET0 (*((volatile unsigned long *) 0xE0028004))
#define IODIR0 (*((volatile unsigned long *) 0xE0028008))
#define IOCLR0 (*((volatile unsigned long *) 0xE002800C))
#define IOPIN1 (*((volatile unsigned long *) 0xE0028010))
#define IOSET1 (*((volatile unsigned long *) 0xE0028014))
#define IODIR1 (*((volatile unsigned long *) 0xE0028018))
#define IOCLR1 (*((volatile unsigned long *) 0xE002801C))

// Bit manipulation macroses
#define _SetP0(BitNum) IOSET0|=(1<<(BitNum))
#define _SetP1(BitNum) IOSET1|=(1<<(BitNum))
#define _ClrP0(BitNum) IOCLR0|=(1<<(BitNum))
#define _ClrP1(BitNum) IOCLR1|=(1<<(BitNum))

// Mask Set/Clear macroses
#define _SetMaskP0(Mask) IOSET0|=Mask
#define _SetMaskP1(Mask) IOSET1|=Mask
#define _ClrMaskP0(Mask) IOCLR0|=Mask
#define _ClrMaskP1(Mask) IOCLR1|=Mask
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th June 2025 - 01:42
Рейтинг@Mail.ru


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