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

 
 
> Как в Кейле задать битовые регистры
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
Ответов
zltigo
сообщение Feb 16 2006, 07:46
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Romanello @ Feb 16 2006, 08:32) *
Кстати иар глучнее чем кейл - если при компиляции или эмуляции программы выключилось питание или сбилась винда, то 95%, что проект будет
...
и понял, что надо менять среду

1. Теперь это называется "глюки компилятора" :-(
2. Ну так смените "среду" а компилятор оставьте.
3. if (IO0PIN_bit.P0_10 == 0) { что то делаю}
такая IAR конструкция на чтение по крайней мере на чтение работает однозначно,
а на запись бита в порт - производится чтение перед записью, что НЕ ВСЕГДА НУЖНО.
Кроме того, какую функцию выполняет P0_10 надо помнить а зачем?
Опишите преред началом проекта функциональные названия битов-портов и все будет много
читабельнее и проще в сопровождении

#define BIT10 (1<<10)

#define P0_MDM_READY BIT10

if( !(IO0PIN & P0_MDM_READY) )
{
...
}


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 16th August 2025 - 23:22
Рейтинг@Mail.ru


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