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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如题,我用示波器测量SPI的波形,高电平是3.3v没问题,为什么低电平是2v?下面是我的程序
% O, z8 q8 Q+ P6 f* m& k( ]
  z; `3 U$ S$ P7 ^7 w. k: G+ {#include "DSP2833x_Device.h"     // DSP2833x HeadeRFile Include File1 X0 s7 g9 A. O/ M& r7 v4 J
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File7 Y: L8 u1 D" c4 w
$ N) ^: q7 ?1 K
//#define          LedReg        (*((volatile  Uint16 *)0x41FF))1 l# z# T; @- c/ U/ b# S* l
//Uint16    *ExRamStart = (Uint16 *)0x100000;
. i+ J. P1 n- x. q! a0 ?8 D7 h) u8 P+ m
void spi_xmit(Uint16 a);  N8 D  H9 ~/ D5 y
void spi_fifo_init(void);; I# C3 {$ I7 g( V/ x
void spi_init(void);
( Z& m% h9 Z3 q. m8 S' o$ H) r1 M: C: D# P6 i+ B& _9 M
void main(void)5 E  i/ p/ c8 X; b, d
{0 }4 G- n" w9 r
   Uint16 sdata;  // send data/ }# ~% T+ G1 a& |
   Uint16 rdata;  // received data  G% o1 S4 J/ {) Q! o4 t! O

7 ~) o4 F9 J5 r4 V   InitSysCtrl();
  ]4 ~5 i% X  O9 ]  T! |: d  v/ S0 u3 h- D
. F8 i6 |7 V0 T2 E
   InitXintf16Gpio();        //zq
( U4 j1 |$ o) V  L4 U& i; g
. Q- L5 n. b7 _) m- A# L# R2 z   InitSpiaGpio();  C& ]- h. y, R/ P1 _
! ]& O$ l# m; J# \9 `/ w
   DINT;
2 h" ^8 E9 R; J' I  g% \4 q; D& W' y
1 ?3 _# ~0 f- M9 W+ s4 R/ n' O1 Y   InitPieCtrl();
5 S& l$ G) C( {
! u& f3 E! f  t( d, K1 ^& }// Disable CPU interrupts and clear all CPU interrupt flags:% ?. Q; r5 y; r& {8 B4 p
   IER = 0x0000;& O# X5 W4 D5 X
   IFR = 0x0000;
+ M. p  k; A+ k- z0 e   3 F9 M( `( ]# r  l6 }! ]5 F' H$ u
   InitPieVectTable();, j& \! u9 x/ C
* D3 V. X2 h3 ]1 F1 h' Z3 C
   spi_fifo_init();          // Initialize the Spi FIFO& E+ _6 o$ T# ~& ~0 g
   spi_init();                  // init SPI
5 I& h% v# C1 q% y3 K1 G5 E, y7 V
   sdata = 0xAAAA;2 \, J( ~0 q- p
   for(;;)
# S# x! ^5 u. A9 V: O0 m5 w" I: p   {   
; ~# W6 r. I1 h1 Y3 c     // Transmit data
: f  h$ [* m: q        spi_xmit(sdata);
  }# ~  Y; X4 A: J2 c; U     // Wait until data is received: J  h1 X+ B* T2 K2 C
     while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { }                        8 _8 L$ {8 [$ q" f* _/ ?/ ]% L
     // Check against sent data
% D% }0 B1 U1 P! \. x8 D     rdata = SpiaRegs.SPIRXBUF;- z# i4 Y2 l1 h/ q, \$ T
     
' e6 g& B- H( x" u  ^; e2 r/ B% v     //sdata++;- T9 k+ q4 U: V* n
; ~: W, g# D: f8 L7 O2 r4 J8 C
   }
8 D4 l, y: Q- I4 g! d4 y}        
' k1 b2 Y5 \, Svoid spi_init()2 A: e, T: m$ O/ W
{
" e0 \$ v- f  M3 c8 c/ S" Z        SpiaRegs.SPICCR.all =0x000F;                     // Reset on, rising edge, 16-bit char bits
' K- U% ^8 c) [( G' b  I$ Z/ k        SpiaRegs.SPICTL.all =0x0086;                         // Enable master mode, with phase delay,. M& G  }1 Z. r0 a" i$ X4 S: Z
                                                 // enable talk, and SPI int disabled.7 z' y7 ~3 G" {! f; N1 I+ l
        SpiaRegs.SPIBRR =0x006;                                        //波特率7.5MHz
( n8 Y7 i: o$ g    SpiaRegs.SPICCR.all =0x008F;                         // Relinquish SPI from Reset; [. d2 [' b; y, r9 C! U4 {
    SpiaRegs.SPIPRI.bit.FREE = 1;                // Set so breakpoints don't disturb xmission  F* ]1 j! J! X' _
}: d0 z7 b3 n% Z' M4 S
2 i& \2 B# Y) J7 @. g
void spi_xmit(Uint16 a)+ u  v) Z/ K4 J. z+ X# u7 b
{
- ~! b! t8 {* f6 l$ j    SpiaRegs.SPITXBUF=a;0 \- v9 E9 l- K/ V+ L& `
}
4 Z+ n+ @+ `5 I% d% W4 _7 V" B6 Y
/ _+ L) b9 z4 g0 N5 c* Evoid spi_fifo_init()
4 |. j6 C4 u. D5 t1 n2 P{
9 T4 F" P. {; s- L6 a$ X  p// Initialize SPI FIFO registers* b( ]' F1 C$ I1 y
    SpiaRegs.SPIFFTX.all=0xE040;
* g' a/ w: F$ T3 d( f: ~6 T    SpiaRegs.SPIFFRX.all=0x205f;
  b6 f  F0 q% g' h  ]    SpiaRegs.SPIFFCT.all=0x0;
3 f- Y& e& X' ?' U$ M. J* F}
, e2 H/ ~4 _) S. X5 |( ^(顺便说一下,f28335的芯片资料上SPI波形的高电平不知道为什么是5v,是不是错了)5 \- o5 q0 N8 e8 a- N2 b
  • 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! {" t( C( |  b6 j) r
    不会吧
    ) }' _( C) C6 N& @# L+ ^
    原来做的东西,当时没注意,反正读AD结果是对的。现在拿出来测波形,低电平是2V,再读原来的AD也不对了,不知道哪里出问题了,悲剧的是原来的程序也找不到了. Z3 b/ Q% _: x& g. r

    该用户从未签到

    5#
     楼主| 发表于 2021-6-4 16:39 | 只看该作者
    qq666888qqw 发表于 2021-6-4 16:36
    , M1 Y. U7 ^1 u7 N7 A肯定不是5V  你看看硬件上哪儿加入了直流分量没

    " Q8 d- `9 a- J( B  M& ^我测的高电平是3.3v没问题,5v是28335SPI手册里的,在最后面,你可以看一下。我的主要是低电平不对,从芯片里直接引出的,什么都没接
    9 _- l) A5 k' @' j+ `# W/ v
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-23 21:34 , Processed in 0.093750 second(s), 28 queries , Gzip On.

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

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

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