Other Parts Discussed in Thread: C2000WARE
Thread 中讨论的其他器件:C2000WARE
工具与软件:
大家好、我在为 F28075设置高速 SPI C 方面需要一些帮助。 将 GPCGMUX1和 GPCMUX1设置与数据表一致、设置 PORTC IO 方向寄存器 GPCDIR、然后将8位数据写入 SPICTXBUF。 数据表指出、当写入 SPICTXBUF 时、传输将开始、但遗憾的是没有发送任何内容。 我用示波器来探测 CLK 线路、发送数据时、时钟未运行。
主 CLK 以40MHz 运行。 SPI 波特率= LSPCLK/4
我还注意到、在示波器中、如果我切换任何 *** 引脚、引脚将开启/关闭。 因此、这意味着多路复用器的设置不正确。 我做了这本书的一切,没有去。
我的 ASM 代码如下、有人能帮助我设置 SPI-C 以实现高速数据传输吗?
以下是我的代码。
XSRAM_SPI_INIT: ; SETUP SPI-C GPIO 69,70,71,72 HIGH SPEED PINS EALLOW ZAPA ; ACC=0 MOVL XAR7,#GPCGMUX1 ; SETUP GMUX1 PINS FOR SPI-C MOVL XAR6,#((1<<11)|(1<<10)|(1<<13)|(1<<12)|(1<<15)|(1<<14)|(1<<17)|(1<<16)) MOVL *XAR7, XAR6 RPT #50 || NOP ; DELAY MOVL XAR7,#GPCMUX1 ; SETUP MUX1 PINS FOR SPI-C MOVL XAR6,#((1<<11)|(1<<10)|(1<<13)|(1<<12)|(1<<15)|(1<<14)|(1<<17)|(1<<16)) MOVL *XAR7, XAR6 ; ---------- ; SPICCR MOVL XAR7,#SPICCCR ; PUT *** IN TO RESET STATE TCLR *XAR7,#7 RPT #50 || NOP ; DELAY ; --------- TSET *XAR7,#5 ; SET BIT HIGH SPEED MODE RPT #50 || NOP ; DELAY ; --------- TSET *XAR7,#4 ; LOOPBACK MODE ENABLED RPT #50 || NOP ; --------- TSET *XAR7,#2 ; CHARACTER LENGTH. 7 = 8 BITS TO TX RPT #50 || NOP ; DELAY TSET *XAR7,#1 RPT #50 || NOP ; DELAY TSET *XAR7,#0 RPT #50 || NOP ; DELAY ; --------- ; SPICTL MOVL XAR7,#SPICCTL TSET *XAR7,#2 ; BIT 2 SET=MASTER MODE, CLR=SLAVE MODE RPT #50 || NOP ; DELAY TSET *XAR7,#1 ; TALK = 1. ENABLE TRANSMISSION RPT #50 || NOP ; DELAY ; ---------- ; SPIBRR - BAUD RATE CONTROL MOVL XAR7,#SPICBRR MOVW *XAR7,#3 ;3h (R/W) = SPI Baud Rate = LSPCLK/4 RPT #50 || NOP ; DELAY ; ---------- ; SPICCR MOVL XAR7,#SPICCCR ; ENABLE *** TSET *XAR7,#7 RPT #50 || NOP ; DELAY ; ----------- EDIS
谢谢大家、我会坚持下去、希望很快收到你们的回复。
Peter