Перейти к содержанию
    

GPIF на FX2

GPIF не могу заставить работать - все управляющие и адрес по единице(смотрел на осц.)

Есть пару вопросов по инитциализации из TRM страница 277/пункт 2 - нафиг нужен и почему в приведённом ниже примере читают из 0x00AB ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

GPIF не могу заставить работать - все управляющие и адрес по единице(смотрел на осц.)

Есть пару вопросов по инитциализации из TRM страница 277/пункт 2 - нафиг нужен и почему в приведённом ниже примере читают из 0x00AB ?

 

Пиши подробней вопрос, мне некогда по пдфкам лазить.

Ты может описатель временной диаграммы криво создаёшь...

На 277 странице вообще порты IO описаны.

 

$if (EnableGPIF)

;=-=-=-=-=-=-=-=-=-=-G-P-I-F-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

nop

/* WriteX #IFCONFIG, #11000000b; //external/internal_CLOCK,30/48,out_enable,invert,Async,Test_pinout,1,0(GPIF)

nop

mov OEB,0x00

mov a,IOB

JNZ NotError

mov dptr,#USBCS ; bit7 - Mode jf PLL (480/12)

movx a,@dptr

ORL a,#00001000b

movx @dptr,a

whileAcc0:

mov a,IOB

JZ whileAcc0

mov dptr,#USBCS ; bit7 - Mode jf PLL (480/12)

movx a,@dptr

ANL a,#11110111b

movx @dptr,a

NotError:*/

CALL ResetPipe

nop

WriteX #IFCONFIG, #11000010b; //external/internal_CLOCK,30/48,out_enable,invert,Async,Test_pinout,1,0(GPIF)

nop

WriteX #GPIFABORT,#0xFF; //Abort All Pending Function

/* MOV DPTR,#PORTECFG; //

MOV A,#0x00

MOVX @DPTR,A

 

*/

 

nop

WriteX #EP2FIFOCFG,#00000000b;

nop

WriteX #EP4FIFOCFG,#00000000b;

nop

WriteX #EP6FIFOCFG,#00000000b;

nop

WriteX #EP8FIFOCFG,#00000000b;

nop; //CTL OutputMode

WriteX #GPIFCTLCFG,#00000000b ; if (x==1) 7-tristate, 0..6 - open-drain

/* MOV DPTR,#GPIFREADYCFG; //

MOVX a,@DPTR

ANL A,#01111111b ;SAS = 0

MOVX @DPTR,A*/

nop

WriteX #GPIFWFSELECT, #Sw_Sr_Fw_Fr_Def

nop

MOV DPTR,#GPIFIDLECS ; defined states of GPIF signals in IDLE

MOV A,#10000001b ; Data pin

MOVX @DPTR,A

nop

WriteX #GPIFIDLECTL, #11111111b ; CTL pin in IDLE

; MOV DPTR,#GPIFREADYSTAT; Current state of RDY pin

; MOVX a,@DPTR

; ANL A,#01111111b ;

; MOVX @DPTR,A

;------------Autopointer-------------------------;

ByteCounter DATA 128 ;

mov autoptrsetup, #00000111b ;

mov ByteCount_h,#high(ByteCounter) ; ; Hight byte of counter Autopointer

mov ByteCount_l,#low(ByteCounter) ;

;source: ;

mov autoptr1h,#high(mass) ;

mov autoptr1l,#low(mass) ;

;destination: ;

mov autoptrh2,#high(GPIF_WAVE_DATA) ;

mov autoptrl2,#low(GPIF_WAVE_DATA) ;

LCALL Autopointer ;

;------------------------------------------------;

/*

 

;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/

$endif

 

 

mov r1, #0

mov r3, #0

MOV IOD, #0x00

MOV OED, #0x01

MOV IOD, #0x00

MOV OEA, #0xFF

MOV IOA, #01010001b

 

;======Initialization Size Endpoint Paket=================

 

mov PacketSizeLow,#0x00

mov PacketSizeHigh,#0x02

mov dptr,#USBCS ; bit7 - Mode jf PLL (480/12)

movx a,@dptr

ANL a,#10000000b

JNZ PLL480 ; branch if HCM != 0

 

mov PacketSizeLow,#0x40

mov PacketSizeHigh,#0x00

PLL480:

 

$if (ControlEnable)

MOV OEE, #00001000b

mov IOE, #00001000b ; Test

$endif

 

nop

WriteX #EP4AUTOINLENH,PacketSizeHigh;

nop

WriteX #EP4AUTOINLENL,PacketSizeLow;

nop

WriteX #EP8AUTOINLENH,PacketSizeHigh;

nop

WriteX #EP8AUTOINLENL,PacketSizeLow;

 

Это работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нафиг нужен и почему в приведённом ниже примере читают из 0x00AB ?

Не читают, а Peripheral_SetAddress( PERIPHCS );

Просто приводится пример, как пользовать вэйвформы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...