Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FastIO
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
zorromen
Привет васем. Решил разобраться как работать с FastIO. Работаю в Keil там и отлаживаю в логическом анализаторе. Я шота чесно непонял, когда я просто IO0SET и IO0CLR. То вроде есть дрыганя, но с 33нс на переключение, что очень странно . Это но это ведь не fast, Как он может так дергать? Теперь пробую фастом FIO0SET и FIO0CLR, шота неочень. Точнее ваще недергается. Скажите как ваще работать с Fast режимом. То ваще уже запарился. В даташите ничего ненашел, чтобы работало, по этому поводу.
HARMHARM
Не знаю, как для младших серий, а в LPC23xx для использования Fast IO нужно установить бит GPIOM в регистре SCS:
Код
    SCS |= GPIOM;//FIO

Цитата из даташита:
Цитата
GPIOM GPIO access mode selection. R/W 0
0 GPIO ports 0 and 1 are accessed via APB addresses in a fashion
compatible with previous LPC2000 devices.
1 High speed GPIO is enabled on ports 0 and 1, accessed via addresses in
the on-chip memory range. This mode includes the port masking feature
described in the GPIO chapter.

В примерах для Keil есть директория GPIO, там пример.
Andrewak
Цитата(zorromen @ Oct 1 2007, 19:24) *
Привет васем. Решил разобраться как работать с FastIO. Работаю в Keil там и отлаживаю в логическом анализаторе. Я шота чесно непонял, когда я просто IO0SET и IO0CLR. То вроде есть дрыганя, но с 33нс на переключение, что очень странно . Это но это ведь не fast, Как он может так дергать? Теперь пробую фастом FIO0SET и FIO0CLR, шота неочень. Точнее ваще недергается. Скажите как ваще работать с Fast режимом. То ваще уже запарился. В даташите ничего ненашел, чтобы работало, по этому поводу.

Сталкивался с подобной фигнёй. На камне фио работает, но при попытке пошаговой отладки через жтаг, регистр направления постоянно сбрасывается и дёрганья, естественно, нету... принудительная установка битов в регистре направления не спасает - на следующем шаге регистр обнуляется. Но это только при отладке жтагом. Причины выясняются...
zorromen
Ух. Вроде пошло. Но непойму почему в Logc analizator кейла выдаетодинаковые импульсы. Одинаковой длинны по 33ns. Это глюк Кейла?

#include <LPC214X.H>

#define LED_1 1<<10
#define LED_2 1<<23
int main(void)
{
SCS=1;
FIO0DIR = LED_1;
IO1DIR = LED_2;
for(;;)
{
FIO0PIN = 0x400;
FIO0PIN = 0;
FIO0PIN = 0x400;
FIO0PIN = 0;
FIO0PIN = 0x400;
FIO0PIN = 0;

IO1PIN = LED_2;
IO1PIN = ~LED_2;
IO1PIN = LED_2;
IO1PIN = ~LED_2;
IO1PIN = LED_2;
IO1PIN = ~LED_2;

}
return 0;
}
HARMHARM
Цитата(zorromen @ Oct 2 2007, 18:28) *
Ух. Вроде пошло. Но непойму почему в Logc analizator кейла выдаетодинаковые импульсы. Одинаковой длинны по 33ns. Это глюк Кейла?


33 нс соотвестсвует частоте 30 МГц. Поскольку изменение состояние ножки порта производится двумя командами, смею предположить что частота ядра в симуляторе 60 МГц.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.