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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如题,我用示波器测量SPI的波形,高电平是3.3v没问题,为什么低电平是2v?下面是我的程序
8 H$ M) p& ?) `9 z8 b! |
* Q4 {& ?5 I: w; ~1 o8 ]6 s#include "DSP2833x_Device.h"     // DSP2833x HeadeRFile Include File  r  k- V/ z/ W& m/ L) n
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
& ~- w2 ^+ O8 a& f3 g4 e& V" C3 h- O6 ?4 a: K- Q# D2 B
//#define          LedReg        (*((volatile  Uint16 *)0x41FF))
% C. y9 M( Q0 b* c4 l1 [' F//Uint16    *ExRamStart = (Uint16 *)0x100000;& A1 ]$ U2 d) M1 U

  t) A  w% Q9 o9 r/ Y  A4 f0 X* _void spi_xmit(Uint16 a);
4 T. R2 v, x. K. v& P1 Cvoid spi_fifo_init(void);0 G! i1 ?( y5 N6 @% {
void spi_init(void);% o$ A4 x2 ?+ ^0 M' k

+ ^6 v' Z' ?5 E" n. V0 vvoid main(void)
, {2 T+ l2 x4 u* n$ T  H$ c3 B{  n/ ]3 L0 S8 M9 L& I+ G
   Uint16 sdata;  // send data
% S2 Y) c! b/ O7 ?  ~0 [   Uint16 rdata;  // received data
, m: b$ O8 T, d$ a) K. G2 g! a% P2 p
   InitSysCtrl();6 b7 W  E- [' z4 S5 s, ^) R

0 d5 F/ p! t0 a3 W2 d, [6 z0 E6 _6 C# C- @6 r
   InitXintf16Gpio();        //zq2 s! Y) r8 ]4 |' K9 ~3 K
5 `9 }* y8 X+ N
   InitSpiaGpio();
" [  k  ^0 d0 A) L) w1 J; ^( @3 k. E0 s# r5 O, ^6 g, p0 @; |# t/ _
   DINT;
8 S) h. p) _3 o2 a7 p
3 u0 \. o3 c% Z2 e2 T( ^- z   InitPieCtrl();
6 i( J, {. Y% B7 ]) N$ o/ w" N4 ~3 V+ [# X4 t4 b3 Z6 Q
// Disable CPU interrupts and clear all CPU interrupt flags:
9 ?+ p+ a. _! N! w4 r   IER = 0x0000;
( L# C' k8 z, l! n4 _$ `   IFR = 0x0000;' M2 H: e, `5 m* X* v8 ^+ Z2 \
   . C3 E2 F+ K7 I3 j1 `6 X7 a9 R
   InitPieVectTable();
/ r9 h+ g( M3 s3 |2 L  n& U" z2 B0 |, _$ E$ X! \
   spi_fifo_init();          // Initialize the Spi FIFO
4 t+ n/ x4 e6 w8 N0 w8 `9 W   spi_init();                  // init SPI
1 c' o7 R9 H5 a. \
* \4 `8 \9 j/ V$ h6 d   sdata = 0xAAAA;; H$ e. ^( M1 v9 S2 n% O
   for(;;)" d2 B, ^1 ^3 ]3 M/ x5 o) H5 A/ g
   {   ) E2 |, K5 K1 P. @' W7 f7 b6 d3 A
     // Transmit data( T. [; U) |1 N: x2 b
        spi_xmit(sdata);
; o) G/ M0 S* z9 E; L     // Wait until data is received; i8 d" ~1 k1 r2 j- G
     while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { }                        
. ^* L7 v5 W6 T9 I0 P     // Check against sent data
  G* N& g  H# [6 }5 ?' t* B     rdata = SpiaRegs.SPIRXBUF;  R  p# s+ j8 Q# B% u& X
     ! f& ~% s; O8 q2 ^
     //sdata++;
4 ?6 Y4 F' ?/ C% ?, c& {. N
; N  j; O4 C7 g" @& E   }
6 u" i+ T0 t1 A4 R+ s) x% n+ F}        5 |' j- ~! B) F+ j9 s
void spi_init()6 k, G& F+ ]! \/ B1 c  @
{/ f% Z9 k$ D$ [: R" @- {3 E
        SpiaRegs.SPICCR.all =0x000F;                     // Reset on, rising edge, 16-bit char bits) H* g, m0 {' Z( C$ E  t4 x6 w
        SpiaRegs.SPICTL.all =0x0086;                         // Enable master mode, with phase delay,# r' w. w0 q+ r1 |) F9 C
                                                 // enable talk, and SPI int disabled.
. O6 [3 A& S1 K9 {        SpiaRegs.SPIBRR =0x006;                                        //波特率7.5MHz, v: l0 j; j- @- X7 l8 Q- l
    SpiaRegs.SPICCR.all =0x008F;                         // Relinquish SPI from Reset- U9 N) g! x& z" v* y" Q+ ]
    SpiaRegs.SPIPRI.bit.FREE = 1;                // Set so breakpoints don't disturb xmission
7 r* V+ y% H# ~" R: i}- u- m- g+ `  ?! t6 H. g( H
9 L2 a! B0 Z4 @  O: q! l5 j7 `
void spi_xmit(Uint16 a)$ f2 }% u1 m! m
{* M* N- @7 a' n/ X
    SpiaRegs.SPITXBUF=a;9 t" w9 ^- ~: Y
}
- c$ A+ }4 \; K" l1 F& a% K! {: r8 h2 h: w* B& f7 m6 u2 k
void spi_fifo_init()4 I5 L) [" h  a' @9 x6 C
{9 \# d) d$ N6 j9 S. R
// Initialize SPI FIFO registers- r) H- ^. I0 ?: Y. ~0 M( _
    SpiaRegs.SPIFFTX.all=0xE040;: [. {9 z0 O- J5 W& ?( d
    SpiaRegs.SPIFFRX.all=0x205f;
; v  L) m8 o7 ~  m  V    SpiaRegs.SPIFFCT.all=0x0;9 P% p4 f* p3 c, h. s* e; }
}& m5 k- n8 T; l0 _: L* [
(顺便说一下,f28335的芯片资料上SPI波形的高电平不知道为什么是5v,是不是错了)
( F# {7 [% ]3 e$ d

该用户从未签到

5#
 楼主| 发表于 2021-6-4 16:39 | 只看该作者
qq666888qqw 发表于 2021-6-4 16:36
) F1 q9 ]0 S# g/ e1 @肯定不是5V  你看看硬件上哪儿加入了直流分量没
5 Z  Y* d" W, a1 F# C
我测的高电平是3.3v没问题,5v是28335SPI手册里的,在最后面,你可以看一下。我的主要是低电平不对,从芯片里直接引出的,什么都没接0 `2 u3 j( E- [& r2 W. Y

该用户从未签到

4#
 楼主| 发表于 2021-6-4 16:37 | 只看该作者
nevadaooo 发表于 2021-6-4 15:26
# o8 N8 N* ?$ S1 B$ D不会吧
  Q. Z& m$ @( }7 P4 E) C# Q
原来做的东西,当时没注意,反正读AD结果是对的。现在拿出来测波形,低电平是2V,再读原来的AD也不对了,不知道哪里出问题了,悲剧的是原来的程序也找不到了' w* j0 M  e; \( Q
  • 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
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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