找回密码
 注册
关于网站域名变更的通知
查看: 647|回复: 2
打印 上一主题 下一主题

F28335 SPI低电平为什么是2V?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-6-25 10:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
9 E9 z! |3 U7 G" ~9 g5 P
5 z% p) [# [7 C
1 A; Y. n  @7 A7 K9 G6 f; p! e
如题,我用示波器测量SPI的波形,高电平是3.3v没问题,为什么低电平是2v?下面是我的程序+ u* p, |( D8 K& A) {$ O
; `1 y' n6 L1 z
#include "DSP2833x_Device.h"     // DSP2833x HeadeRFile Include File
4 J6 ^2 v& R2 W& s9 j" c#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
! n* e% z0 u5 Y! w6 a7 S0 d9 y0 H2 ?0 ]2 T" h- V" O/ i
//#define          LedReg        (*((volatile  Uint16 *)0x41FF))
* T# V7 W+ j. i- v//Uint16    *ExRamStart = (Uint16 *)0x100000;, j% s& R1 z& W% k( {7 ]. s1 ]& f
1 m! `5 m4 p6 q4 b: f6 X
void spi_xmit(Uint16 a);, z6 y: ^6 g) `/ O8 N" K4 @
void spi_fifo_init(void);1 z1 E5 O3 i3 f5 }" o- |
void spi_init(void);4 l- H1 M' m: s$ E" x+ w

5 E/ [3 E) ]: D: x% Avoid main(void)
$ |# s: E  m/ r! Z$ A{
) t- z! l' D& R7 X, T& t* X   Uint16 sdata;  // send data% B$ l/ e& J4 n
   Uint16 rdata;  // received data
' b* D& a( M$ W  C+ {
4 M' V3 a# s! X1 D  I   InitSysCtrl();
( p# o1 l$ d2 k& b9 |: q# O  H/ B1 |* J% c2 K

( t2 h% x- w1 ?/ L% J( b9 b7 P   InitXintf16Gpio();        //zq0 p; L( I* A% I# d& ^

1 l! U8 I' ?! j- J: ?& E: q* P   InitSpiaGpio();) p/ Q- b% c/ W' s7 D( g
3 J+ m* L" W- t% o: d1 I* h
   DINT;
9 G. f% z3 l# F5 p. @# P9 q
) U+ e, ?- k5 ^   InitPieCtrl();5 r: F* u- ]( s4 x& C

6 \: ^: k7 Y5 \3 a* T// Disable CPU interrupts and clear all CPU interrupt flags:
; l' d* b. N8 J* p; m   IER = 0x0000;
4 E8 a) i2 J$ N   IFR = 0x0000;
9 ?! C! `! m. h   
  o0 t9 ~5 O0 X, b   InitPieVectTable();+ y" ^% Q3 ^8 J: P2 o

3 W4 g: B( R5 S- {   spi_fifo_init();          // Initialize the Spi FIFO" l3 G3 C9 y- ?  c
   spi_init();                  // init SPI6 U+ ^9 ^- E: g: L! l+ W

" j2 B/ N. B  w: z   sdata = 0xAAAA;# X; B" Z3 G/ a$ n7 O& K
   for(;;)7 m$ ^; Y$ M( k( \( N; M, L5 F
   {   + U+ X3 `5 A' m9 |; ]5 [/ ]  j. E
     // Transmit data4 t* L% O; Z+ P( j- G
        spi_xmit(sdata);
$ [# C8 F% Y  |: g6 C     // Wait until data is received9 c5 D  ~( X; m" e
     while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { }                        ; N# T5 y( D; ]$ D
     // Check against sent data' D1 H( i- C" N" A) X/ q0 I
     rdata = SpiaRegs.SPIRXBUF;! F* }* \. C# B. l; _' D
     
$ a  @: F" Q5 ]! _% ]$ W     //sdata++;
( y& w! n2 A8 B3 ?! z! _- ]3 ^. I5 l7 s  u( `4 D( C/ x
   }
! Q1 U1 J4 @- r2 [}        / s  ^( N5 b3 O
void spi_init()
( p+ ]  k) M9 j{
  B. C' P2 J6 f4 E# v3 w+ W  p        SpiaRegs.SPICCR.all =0x000F;                     // Reset on, rising edge, 16-bit char bits
2 q, b- A+ ?9 q9 w        SpiaRegs.SPICTL.all =0x0086;                         // Enable master mode, with phase delay,* ^5 e0 c' }& Q
                                                 // enable talk, and SPI int disabled.4 @, E/ l( r- @! _/ ~' }; D
        SpiaRegs.SPIBRR =0x006;                                        //波特率7.5MHz
7 N" F1 M$ p1 ?0 _: v! O% N. |  o    SpiaRegs.SPICCR.all =0x008F;                         // Relinquish SPI from Reset
3 l4 D$ D' [5 B5 a0 }# Y, j    SpiaRegs.SPIPRI.bit.FREE = 1;                // Set so breakpoints don't disturb xmission
  ~; C! i- b3 |) J' S}& s  d$ r2 Z* i- |
* h: Y" h* b" B6 M
void spi_xmit(Uint16 a)
4 i2 ^6 n/ u, A{
$ r: \& o3 {% C# d0 U    SpiaRegs.SPITXBUF=a;
% x* h$ U- v: a) x$ P}
* E2 ^7 j. K" x, z3 X. w/ E
6 P! z7 t0 y4 Zvoid spi_fifo_init()
. m7 G5 b/ O: E{& L% g0 ]! ]# A* [8 M! I7 O. {
// Initialize SPI FIFO registers1 h5 A/ }# H! y) S
    SpiaRegs.SPIFFTX.all=0xE040;
) C8 J: q# j/ R3 i    SpiaRegs.SPIFFRX.all=0x205f;0 {5 C' Y* C. C
    SpiaRegs.SPIFFCT.all=0x0;: ^: h8 {3 J& R! t# U+ f
}
4 x# a% |5 t3 M) y3 e# Y* R5 X(顺便说一下,f28335的芯片资料上SPI波形的高电平不知道为什么是5v,是不是错了)

+ G8 R0 d9 B* G) v+ {. Z9 h% U9 E* L/ D$ J3 N) t

* R2 j  J' [* d2 }4 k, X+ m' @; z3 L
  • TA的每日心情
    开心
    2023-1-3 15:10
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2021-6-25 13:10 | 只看该作者
    肯定不是5V  你看看硬件上哪儿加入了直流分量没
  • TA的每日心情
    开心
    2022-12-5 15:37
  • 签到天数: 2 天

    [LV.1]初来乍到

    3#
    发表于 2021-6-25 16:14 | 只看该作者
    我调试CAN也遇到同样的问题了,低电平进CANRX就被拉高到了2V以上
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 09:40 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表