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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如题,我用示波器测量SPI的波形,高电平是3.3v没问题,为什么低电平是2v?下面是我的程序
* S. `0 V) y  [, r/ N, P. O( X# r# Y( m9 `: {% N* u8 J
#include "DSP2833x_Device.h"     // DSP2833x HeadeRFile Include File
3 P  P& g* r% S6 q3 ^$ @  F$ N' u#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File5 o) ?! J! m% C0 U* `) ?2 d; ?

$ |8 R8 u( k6 }' h//#define          LedReg        (*((volatile  Uint16 *)0x41FF))" k' m$ o: l0 f* X0 T# h1 F
//Uint16    *ExRamStart = (Uint16 *)0x100000;1 M1 r# G7 c5 s/ P8 F
1 S& r9 s0 r  {" I% Q* I# v$ ]; Q- r
void spi_xmit(Uint16 a);) _1 V5 \9 i$ x8 v4 l& G
void spi_fifo_init(void);
2 h" \6 H2 U$ c/ y! e; L/ `void spi_init(void);
; |* I/ W5 A+ T5 Q) U* [' n) y- G7 l, Q6 }$ C3 C; s* z2 Q
void main(void)# ?5 Z" g3 i3 i
{( a. j/ h( t# u  Y
   Uint16 sdata;  // send data0 ^1 D7 a" C, ~& C& o% _
   Uint16 rdata;  // received data) r7 Z( U* \0 M
( u. b& p, Y- I; F* B# y
   InitSysCtrl();7 g' n2 u6 D  c
# r+ Q# Y0 V7 H+ ]

/ {3 O1 }: y: ]1 A* z' m! i8 v   InitXintf16Gpio();        //zq
0 B1 y& n5 L" i, |2 M: g$ n4 j
! j; P3 [* O9 f: }  J" F   InitSpiaGpio();$ P: m. H+ ^$ P) v
" d9 R( R7 F- b6 w  H" T; F" l7 o0 o
   DINT;
' n2 b) }5 \# A& E
- y- S/ d, [8 j; D* G0 @   InitPieCtrl();% o# _5 m  J: F& l  u
3 r1 d! N3 [% q) w0 _. k
// Disable CPU interrupts and clear all CPU interrupt flags:
# j/ k% u9 \- V. _- F4 @   IER = 0x0000;; ?7 v# [: m3 P) V. T  w5 ]9 J
   IFR = 0x0000;
/ J$ {4 ?9 z: y! E# c0 V   2 i  w' L% r2 t. N
   InitPieVectTable();" [6 G. A* ]: e' g

: ]# Y- F) y9 \3 S/ L7 G   spi_fifo_init();          // Initialize the Spi FIFO
; h: A' I* B; G9 |1 k   spi_init();                  // init SPI5 I* S% r" W. g' k% J3 {
* K& q, O' q1 \) A: T
   sdata = 0xAAAA;! x; b  K- n* t6 n& v
   for(;;): S! I% H+ s# _8 z6 n! W
   {   
& S1 S/ U- x) d# t7 |6 ?; }( y     // Transmit data* a" n( i% }/ S7 o, v) |/ E- q. w
        spi_xmit(sdata);4 ^2 p  O) G' S) E: D# ^, ~$ b* e7 |
     // Wait until data is received
3 }# w- j0 T5 s5 m! K7 A) z     while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { }                        , B% ^" Z+ |# T0 O, g0 h
     // Check against sent data7 x( I2 s" A1 F( S, t4 z
     rdata = SpiaRegs.SPIRXBUF;9 R6 j3 n5 n$ I% R! b
     
& U5 w6 r  l* Q( I% {$ q) j     //sdata++;% n0 U5 N  ?! u: U
: ~$ i+ G* b! {! z
   }
8 ]) c- x2 g( C' s}        - P3 m* l2 c* l  w
void spi_init()
0 N6 M; q* C5 A- |# Q" b{' r" p' _3 H  Z$ S( E6 ^+ G* M
        SpiaRegs.SPICCR.all =0x000F;                     // Reset on, rising edge, 16-bit char bits
0 V6 U$ Q; o* T8 |1 s, T        SpiaRegs.SPICTL.all =0x0086;                         // Enable master mode, with phase delay," _' A  }5 d1 ^1 [- J* x% h
                                                 // enable talk, and SPI int disabled.
( Z- A7 a. ^/ N, a7 P6 K- h' z        SpiaRegs.SPIBRR =0x006;                                        //波特率7.5MHz
" o( ~* W1 ^$ d, @; X    SpiaRegs.SPICCR.all =0x008F;                         // Relinquish SPI from Reset8 E+ c+ }8 ~6 j1 V2 e
    SpiaRegs.SPIPRI.bit.FREE = 1;                // Set so breakpoints don't disturb xmission
: s, ~3 q9 G$ E, Y}
' w) g8 l( R7 ?0 n/ [' q3 u" Y4 p# X9 o6 K: j1 ~& f5 j7 Y+ s
void spi_xmit(Uint16 a)# X9 O. n9 w: m8 M) f1 m$ N% B& l
{) X7 s$ u- F' a4 h
    SpiaRegs.SPITXBUF=a;- N) w# B  P" N% L1 x( \
}
: s" f9 ?& O. m1 Q7 e" y* s; n% M) x) U: A1 w
void spi_fifo_init()
; G; g# B" D/ I{
6 H- s% ]! r  O$ ?3 V// Initialize SPI FIFO registers
% u8 ]8 t; v' l8 s7 x    SpiaRegs.SPIFFTX.all=0xE040;6 p4 h0 c. p1 m( W2 a* U) q
    SpiaRegs.SPIFFRX.all=0x205f;& E1 {  a- p  E, c
    SpiaRegs.SPIFFCT.all=0x0;' e5 a0 {& N) X
}* T/ I* _# B& R+ W. h. m+ b3 U; g
(顺便说一下,f28335的芯片资料上SPI波形的高电平不知道为什么是5v,是不是错了)
. r4 x( K& C2 u+ [7 g1 ?* P" E+ \
  • 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
    ! i9 A) C" M3 s8 a不会吧
    : D& f/ x- {( N0 C6 m( H
    原来做的东西,当时没注意,反正读AD结果是对的。现在拿出来测波形,低电平是2V,再读原来的AD也不对了,不知道哪里出问题了,悲剧的是原来的程序也找不到了6 `7 Z. l6 X2 _0 _

    该用户从未签到

    5#
     楼主| 发表于 2021-6-4 16:39 | 只看该作者
    qq666888qqw 发表于 2021-6-4 16:367 y% Q, @* _$ x- d. i% o# p; G$ J
    肯定不是5V  你看看硬件上哪儿加入了直流分量没
    * D5 b2 j- H' {, ^
    我测的高电平是3.3v没问题,5v是28335SPI手册里的,在最后面,你可以看一下。我的主要是低电平不对,从芯片里直接引出的,什么都没接3 V. e, L- y  L( G8 s/ c
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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