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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如题,我用示波器测量SPI的波形,高电平是3.3v没问题,为什么低电平是2v?下面是我的程序% h; d( B) ^0 o
' P0 g/ V3 s: R
#include "DSP2833x_Device.h"     // DSP2833x HeadeRFile Include File" J1 _4 }4 X# u2 }, p3 T0 H0 }
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
4 `% v9 j' j/ V! O3 h! x
2 F7 l/ F9 k1 ]4 E2 G//#define          LedReg        (*((volatile  Uint16 *)0x41FF))) ]) m  l  U7 M; {5 P& U
//Uint16    *ExRamStart = (Uint16 *)0x100000;
# T& C' Y( p8 r3 u: H
' n+ G3 g! C" `/ c9 G8 R9 ]8 Bvoid spi_xmit(Uint16 a);
$ l' ?% y. `7 a- K4 X4 fvoid spi_fifo_init(void);
7 |" W+ D( M% d9 f) H7 G5 ~void spi_init(void);
, U5 [% T4 I* n, V$ y/ S8 F2 _
2 w- O1 z, Q( h8 ~void main(void)
" r" ~. I; T. y" M4 ?- m" C{6 E. u+ w  Y2 [9 X7 a
   Uint16 sdata;  // send data
* b8 L) b7 L  I/ ?   Uint16 rdata;  // received data
8 _: N& [. O3 _1 m8 @- |
9 y$ B( W! K2 R: N- p   InitSysCtrl();
8 [7 s( x4 E$ u& N9 C; E# s! L0 y* ?
+ ?/ ~; @# B$ R0 [9 A( K
   InitXintf16Gpio();        //zq- M% r/ }+ J, G  |7 u( M

/ `% q4 ]( k& N: ?& k/ S4 L/ Q   InitSpiaGpio();7 s& ]( ]' @) M) q4 M# c+ M
% z; K' v* R6 {. A) v( r) Q( q" u/ N& H
   DINT;0 |$ N+ x6 Y* v- F

5 P" ~  [& U; q, P9 {   InitPieCtrl();
9 T- q. y1 `1 s  g3 ?3 y
7 H# m9 [0 X: }1 ^' K3 U// Disable CPU interrupts and clear all CPU interrupt flags:8 y$ W6 o" R) d, ~" O1 S; P% R. O
   IER = 0x0000;$ v$ o4 d. \( S: e
   IFR = 0x0000;+ S1 k1 l9 D. b/ }/ I  r# L0 g
   9 G& w7 T: M/ B" X/ |
   InitPieVectTable();
1 Z1 c, c) L5 d& U( O3 E2 C
3 r" D3 b7 s# z) c; O+ i6 O' C   spi_fifo_init();          // Initialize the Spi FIFO. z/ d0 z+ s; N
   spi_init();                  // init SPI
) Y( f- r5 m6 J" b/ e2 Q! l
7 F- v- B7 s2 A' Z. O+ m   sdata = 0xAAAA;
8 J& S. p( J- Z6 N, B* B: u( E' n   for(;;)6 j2 \+ y1 s* V, N
   {   
2 S' z8 ^: c8 H     // Transmit data# N) v; ~3 V1 A1 A$ s# a
        spi_xmit(sdata);3 G2 k  D  y  ~# O: I7 _& B
     // Wait until data is received0 @5 X5 F4 W& [/ M3 Z
     while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { }                        ! y. N2 W) p( B8 S3 }7 [) G
     // Check against sent data
" F* ]- S! Y& N& u     rdata = SpiaRegs.SPIRXBUF;
0 \" n, b  x; f- s     
; V, ?% C7 x, w; C8 w% }# [! Y2 K     //sdata++;
& e6 W, y3 u# z( ^; p) H
" @2 f) _+ Y% y8 S2 d/ h* H$ k# H   }  a: X# T! }7 @7 [/ V2 X
}        8 `6 ]) {5 P! p" b
void spi_init()
4 x& u8 ^! d5 I" Q) E- I{
5 @* q( b9 E0 g7 `5 }  j$ {        SpiaRegs.SPICCR.all =0x000F;                     // Reset on, rising edge, 16-bit char bits
4 y  g/ s9 A+ w: y& B1 Z5 j1 K        SpiaRegs.SPICTL.all =0x0086;                         // Enable master mode, with phase delay,0 Z1 l+ Z4 a) _
                                                 // enable talk, and SPI int disabled.
; p) f2 |2 N3 r1 H) T        SpiaRegs.SPIBRR =0x006;                                        //波特率7.5MHz
. ]8 A6 X# Z3 Z9 q8 m) {$ I$ s    SpiaRegs.SPICCR.all =0x008F;                         // Relinquish SPI from Reset% A& u  i$ E% a: X9 b- W+ h
    SpiaRegs.SPIPRI.bit.FREE = 1;                // Set so breakpoints don't disturb xmission5 [: l+ j+ z& C* _) n& y" w  M
}# v! R& F! W& o  [: c4 ?) T5 {
, r  x4 o6 n6 \- ?. k' v* V  P) ]: }
void spi_xmit(Uint16 a)& R) y) f4 s3 @. x1 r1 n$ I
{9 k" ~2 ^7 T9 ^9 f6 ?
    SpiaRegs.SPITXBUF=a;4 W6 B' P: Z. Y# d# a
}$ R/ h% i, ~* q: U
/ G( `# x9 ~6 e0 A* ]
void spi_fifo_init()9 v4 H9 |( v, b  Q3 s9 x( ?- g
{: G/ c. B* l( O8 y* K) B, V2 o
// Initialize SPI FIFO registers
2 U& R' B# P( E7 ^0 p$ E2 C    SpiaRegs.SPIFFTX.all=0xE040;! M, k0 {( O; J
    SpiaRegs.SPIFFRX.all=0x205f;  R1 C: O% a  B0 N
    SpiaRegs.SPIFFCT.all=0x0;" I. G2 ^* k2 I
}  p8 a2 {6 S% J( L; A) x# O+ v
(顺便说一下,f28335的芯片资料上SPI波形的高电平不知道为什么是5v,是不是错了)
6 n- u$ ~" O+ D
  • TA的每日心情
    开心
    2022-12-27 15:46
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    3#
    发表于 2021-6-4 16:36 | 只看该作者
    肯定不是5V  你看看硬件上哪儿加入了直流分量没

    点评

    我测的高电平是3.3v没问题,5v是28335SPI手册里的,在最后面,你可以看一下。我的主要是低电平不对,从芯片里直接引出的,什么都没接  详情 回复 发表于 2021-6-4 16:39

    该用户从未签到

    4#
     楼主| 发表于 2021-6-4 16:37 | 只看该作者
    nevadaooo 发表于 2021-6-4 15:26+ i: Q: J9 g! _- X5 M, _
    不会吧

    , }# C& X! W4 u( L. X: M原来做的东西,当时没注意,反正读AD结果是对的。现在拿出来测波形,低电平是2V,再读原来的AD也不对了,不知道哪里出问题了,悲剧的是原来的程序也找不到了
    5 K9 a1 z% @: d+ C" o# D, A. T

    该用户从未签到

    5#
     楼主| 发表于 2021-6-4 16:39 | 只看该作者
    qq666888qqw 发表于 2021-6-4 16:36
    9 w* d$ w: Z( j1 V肯定不是5V  你看看硬件上哪儿加入了直流分量没
    ! y2 g. Q$ y3 a1 t2 _& y2 f" J; _/ ]" l2 j
    我测的高电平是3.3v没问题,5v是28335SPI手册里的,在最后面,你可以看一下。我的主要是低电平不对,从芯片里直接引出的,什么都没接
    ' W. [) ?" v( j3 o
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 08:22 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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