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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如题,我用示波器测量SPI的波形,高电平是3.3v没问题,为什么低电平是2v?下面是我的程序$ j6 h1 P" m3 R6 a
  B/ k# x1 n# x7 Z; ^
#include "DSP2833x_Device.h"     // DSP2833x HeadeRFile Include File
+ A, i$ L4 v0 D9 P* M6 M#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File8 |( d; l; m; I# C- p

7 b0 W; J$ X; O1 {3 k% ]' Q//#define          LedReg        (*((volatile  Uint16 *)0x41FF))- s& j) m  V% W6 y9 n
//Uint16    *ExRamStart = (Uint16 *)0x100000;
, a( W* V6 a  D) {0 F1 v: o. F# F0 {% n: _7 y
void spi_xmit(Uint16 a);
  v: ^  |. C0 q$ D6 X! a6 w. xvoid spi_fifo_init(void);
0 V/ u3 ~1 [4 E; mvoid spi_init(void);5 u) J& M$ {2 d+ t  S: z1 r

& L  T, n) `" K* F) i- Xvoid main(void)
8 k. h% E6 U/ f/ c; T{$ ^' q) ?' L, E% ]( R
   Uint16 sdata;  // send data
! o9 a* M  ^4 D* ]: W   Uint16 rdata;  // received data# y. Z, ~# i! r! r4 i7 H2 }

% y- A+ _6 I2 O1 n! i/ T) n0 s   InitSysCtrl();5 H8 H% s- W: t0 S3 f4 P' N: N
/ D9 W+ v+ D. h9 h9 M8 ^# D
5 R5 N' B3 m" t* I& p2 s. P+ E; Q
   InitXintf16Gpio();        //zq
7 D% p, E3 i: G' |) d  `, f8 F( h2 `  w, c% k6 q- E+ h3 [$ L: W
   InitSpiaGpio();; B( `! m* L1 d) u/ p! W- F1 z: _

! v2 o+ c9 t4 z. X   DINT;% \- a& n! r9 U, }
, [/ F* d! e. C# Q( z
   InitPieCtrl();
( y0 _* @+ x6 |( q- ]3 `8 B& j8 r
// Disable CPU interrupts and clear all CPU interrupt flags:! c' w' H( N' X' R7 E# d8 E
   IER = 0x0000;- ?/ L0 W3 h6 T7 n$ K. Y$ C
   IFR = 0x0000;/ a, E3 a; T( P
   ' q8 j4 H) S1 i$ }9 o. O/ l
   InitPieVectTable();
! q0 e# K, a& w- P" m3 R/ F/ c* }( N# T9 K6 F( k  b/ K2 o% }7 U
   spi_fifo_init();          // Initialize the Spi FIFO
3 w' @2 k; c4 c- Y/ K9 Y. L   spi_init();                  // init SPI
' k% h) r' x  G, C+ c) m* T: b( R, B" `2 W
   sdata = 0xAAAA;& a( {) R! E7 _, p! I$ A, e
   for(;;)% X* ^7 ?0 t1 J
   {   
4 r/ O  x; t* [8 d     // Transmit data
6 H- E3 f' P$ q! v9 ?0 q        spi_xmit(sdata);: @" c; j" S) \* k, }/ b
     // Wait until data is received1 l" g9 Q4 H. l# [# W# h* L0 A! j
     while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { }                        
. ]' q; K$ r* t# {4 D8 C     // Check against sent data
- N$ d6 s) R# x! o1 [     rdata = SpiaRegs.SPIRXBUF;4 H+ z' [( F$ R: t% l# {/ v8 F
     5 J# S" y) b( X8 @/ W* d
     //sdata++;
$ r- J% W6 u2 B8 w8 N" E/ i
# D0 U0 F8 E' {/ h2 S   }1 I. s. u9 ^$ s
}        
& c; k$ W2 H: v6 J$ Cvoid spi_init()
! l; a: R+ R& r* k1 U{' A! a2 Q9 ^4 \, {+ C+ R0 z- u, o
        SpiaRegs.SPICCR.all =0x000F;                     // Reset on, rising edge, 16-bit char bits
5 `3 Y) |5 F. L4 W7 T6 L) e* S* s* p        SpiaRegs.SPICTL.all =0x0086;                         // Enable master mode, with phase delay,# N# p; \5 x  @) m6 ?
                                                 // enable talk, and SPI int disabled.4 c5 h- U! k$ n8 D
        SpiaRegs.SPIBRR =0x006;                                        //波特率7.5MHz
& G2 u5 v: y" q. @6 t; e" r) Y    SpiaRegs.SPICCR.all =0x008F;                         // Relinquish SPI from Reset% W5 C; t* `; T, h% a, ~. E
    SpiaRegs.SPIPRI.bit.FREE = 1;                // Set so breakpoints don't disturb xmission
5 S* o. c3 S1 D}; [+ i0 U# H/ k/ A7 M$ |' q8 Y

' ~, J5 S. a5 _4 ~; k6 k2 V6 ]3 uvoid spi_xmit(Uint16 a)
& A4 o! {! C( [; W{# w$ a  ~9 G9 l8 D, y  Q# [; H: C! n
    SpiaRegs.SPITXBUF=a;
' [( H9 y9 M9 h7 k: b}' h0 m# P, t3 o; j
) L* r( k" h& ]  t: [
void spi_fifo_init()
* {% R( Y6 h9 {{
( m7 I# M8 z2 H& C# p* ^// Initialize SPI FIFO registers
/ Y! O# ]* i; S4 v8 L. ^- T: @    SpiaRegs.SPIFFTX.all=0xE040;
" O* D( s# i* U0 `    SpiaRegs.SPIFFRX.all=0x205f;5 c% A/ \) f' r$ j
    SpiaRegs.SPIFFCT.all=0x0;
/ e( ^/ K; z- b" Z% L}
7 V4 D2 c: Q+ _! {, f* S7 y( U(顺便说一下,f28335的芯片资料上SPI波形的高电平不知道为什么是5v,是不是错了)2 H  L) r0 w$ K5 j' B5 _: ~( Y
  • 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
    % ^6 Y7 m8 F- r; f: S不会吧

    & x' J+ R. b. X& q, g7 ?, p: O2 h原来做的东西,当时没注意,反正读AD结果是对的。现在拿出来测波形,低电平是2V,再读原来的AD也不对了,不知道哪里出问题了,悲剧的是原来的程序也找不到了& L) ~! c" b6 a' Y

    该用户从未签到

    5#
     楼主| 发表于 2021-6-4 16:39 | 只看该作者
    qq666888qqw 发表于 2021-6-4 16:36
    9 A7 M# p0 F0 G$ m肯定不是5V  你看看硬件上哪儿加入了直流分量没
    9 u+ T& n& Z, d4 e) m
    我测的高电平是3.3v没问题,5v是28335SPI手册里的,在最后面,你可以看一下。我的主要是低电平不对,从芯片里直接引出的,什么都没接
    + q. q. f' F6 ]; c
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 10:13 , Processed in 0.171875 second(s), 24 queries , Gzip On.

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

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

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