| 如题,我用示波器测量SPI的波形,高电平是3.3v没问题,为什么低电平是2v?下面是我的程序3 u0 c; l! Z8 f8 E2 E9 v ) q% a: l( q" n #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_Examples.h" // DSP2833x Examples Include File1 ?! N& F! B, H4 ]% q //#define LedReg (*((volatile Uint16 *)0x41FF))9 }: X1 }2 W V5 B //Uint16 *ExRamStart = (Uint16 *)0x100000; 9 U. u, k; z& h+ j! I# a$ N void spi_xmit(Uint16 a);8 X4 r& c7 p& l0 @! F6 h d void spi_fifo_init(void); void spi_init(void); void main(void) { Uint16 sdata; // send data Uint16 rdata; // received data InitSysCtrl(); $ p; P+ B/ r6 E; d* Y InitXintf16Gpio(); //zq" {- ~2 y5 q! C8 @" q8 k , L9 r6 d# p; j+ L. a# d" i InitSpiaGpio(); . g/ Q- W* S2 y- l6 |! `$ i, h DINT; InitPieCtrl();( z, w2 k t! ~6 W. p7 z; V1 c4 ] // Disable CPU interrupts and clear all CPU interrupt flags: IER = 0x0000;- Y. A) {, ~ j' ]1 ^# _ IFR = 0x0000;# B" f1 N( H* `. ` InitPieVectTable();; }5 O) a3 f1 { P/ P5 c M& J/ i p8 o( { spi_fifo_init(); // Initialize the Spi FIFO spi_init(); // init SPI sdata = 0xAAAA; for(;;) { // Transmit data spi_xmit(sdata);6 ]+ x( {1 {1 h1 C& f+ L3 `8 G v // Wait until data is received while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { } // Check against sent data- ], r2 o+ |7 O( { rdata = SpiaRegs.SPIRXBUF; ) {' x( X9 Q% G* r( i$ m //sdata++;6 K+ B! u; B& d ( K5 ~; p& z! P; o$ ^( p- q } } 7 _1 U* {/ E' B3 x. ~% e: W2 g } void spi_init() { SpiaRegs.SPICCR.all =0x000F; // Reset on, rising edge, 16-bit char bits1 h' P8 w& e' @8 e. K# \8 ?' J SpiaRegs.SPICTL.all =0x0086; // Enable master mode, with phase delay,& T6 S) x- `3 o! H* I3 e // enable talk, and SPI int disabled.5 a% v1 @8 i6 ?" U: E SpiaRegs.SPIBRR =0x006; //波特率7.5MHz9 F# ?$ F+ X; c4 ~ Z SpiaRegs.SPICCR.all =0x008F; // Relinquish SPI from Reset SpiaRegs.SPIPRI.bit.FREE = 1; // Set so breakpoints don't disturb xmission: Z S7 }3 E3 _) o2 [# u! @: b } % R9 z3 o( X/ _! S void spi_xmit(Uint16 a) { SpiaRegs.SPITXBUF=a;4 c* K, k% o, r J3 B* q! [ } 5 z/ K" |! f, Y& V. o; i* [ void spi_fifo_init() {4 {" h& Q( V$ B% q& K // Initialize SPI FIFO registers- R0 h5 j$ m8 r" }7 A SpiaRegs.SPIFFTX.all=0xE040;- E) e; _3 D5 B SpiaRegs.SPIFFRX.all=0x205f; SpiaRegs.SPIFFCT.all=0x0;/ |2 p9 b2 s3 \* [0 i3 n }! D4 P0 v/ _- Y! i+ M$ o' | (顺便说一下,f28335的芯片资料上SPI波形的高电平不知道为什么是5v,是不是错了) |
| 欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) | Powered by Discuz! X3.2 |