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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如题,我用示波器测量SPI的波形,高电平是3.3v没问题,为什么低电平是2v?下面是我的程序5 w  F- j) T4 E+ i

- O- d; R3 {9 N6 H* A#include "DSP2833x_Device.h"     // DSP2833x HeadeRFile Include File
; i% b5 [2 p4 S; \#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
+ j1 c, v- a7 a6 ?- l$ i& [
3 c0 C* A6 D* Z- E+ ~//#define          LedReg        (*((volatile  Uint16 *)0x41FF))
" v4 X1 r/ Z& L//Uint16    *ExRamStart = (Uint16 *)0x100000;
: Z: O: z% j1 {1 }7 ]4 ]6 G  X: O+ I6 w5 n3 t" a: g( E7 V
void spi_xmit(Uint16 a);
# x% y: n+ s, _! hvoid spi_fifo_init(void);
7 ]  o) J3 L7 M% H9 X' B1 m4 Cvoid spi_init(void);
" E4 s$ T! P; c. x+ H% G
  K# s: T6 R, B6 v6 c  r& ]( \& Nvoid main(void)
( k- N9 s7 n$ \2 ~- t( z+ o{
; O) [& A: d5 R$ O   Uint16 sdata;  // send data
6 B% l4 o9 p  n- O9 d- ^8 I6 B" j7 y   Uint16 rdata;  // received data
! t4 e: y* c% I6 a/ k8 {
! O5 ?- X4 k4 j7 K0 h2 [* Y, n8 S   InitSysCtrl();/ ^1 Y" O0 V3 j- o! T6 w' U$ W

& W; Y9 s* e" h  q5 k
& @. m/ h5 F: r2 Q   InitXintf16Gpio();        //zq/ I( M7 b+ F6 x/ `- m

, i" `# k& p& U8 E, ?# W   InitSpiaGpio();
: s0 l' [# U9 @
  s  c& i( M- ~# |   DINT;
* r/ d! W) n5 S( i& {/ I- k( g+ g/ s
/ |! r6 T6 ^$ x% m   InitPieCtrl();4 M: n+ D- W) N6 ~- g6 ]
& s3 X' q) {5 y. A% {; S9 f
// Disable CPU interrupts and clear all CPU interrupt flags:$ t& T% |7 f- Y8 f7 k; ~; O
   IER = 0x0000;! b% l& X. K. i& o* j
   IFR = 0x0000;
  j3 k4 ?1 g# x! Z   
# D) x" V* P, P7 v; n; ?   InitPieVectTable();
: ]5 a0 ^  q6 s/ t7 l: }+ @" w) v( j5 i
   spi_fifo_init();          // Initialize the Spi FIFO/ J/ C% H. z' G9 B
   spi_init();                  // init SPI
: P3 W/ J( s! W/ a! V: b
- Q3 ~; q% n5 s# c   sdata = 0xAAAA;; w$ J6 ?0 u9 n5 k# N2 U; U' t! R
   for(;;)
& a+ ]) R. W+ @2 o; a   {   
3 Q5 J" w) K4 q6 e" w- U7 i     // Transmit data) E+ U8 s& X: F
        spi_xmit(sdata);$ @5 n. @0 n8 a1 d
     // Wait until data is received. y2 D, u5 L8 G) v0 k# s
     while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { }                        
9 D% Z  @+ V; p9 t     // Check against sent data
) [1 _0 b4 I9 f7 m4 `8 D     rdata = SpiaRegs.SPIRXBUF;
/ p* |5 q" b' k/ I9 ?0 D     
+ ~) O( Y1 r2 L0 b     //sdata++;
. c. f' z6 o  R) w4 a7 b; Q; l/ y& b# `" R3 l7 U- H& c
   }# X6 X  [* q! ?1 s( d1 f$ B7 u
}        
+ Z/ k3 C/ }0 r. _; c6 i8 H7 kvoid spi_init()
. I. M$ |* k# Y# P( h$ V6 @{+ h* @' P) ?; h' X
        SpiaRegs.SPICCR.all =0x000F;                     // Reset on, rising edge, 16-bit char bits
1 x& }; j$ t7 d$ X        SpiaRegs.SPICTL.all =0x0086;                         // Enable master mode, with phase delay,
; m) p3 n% a) ]                                                 // enable talk, and SPI int disabled.
' F5 z/ p/ p0 r- V) Q        SpiaRegs.SPIBRR =0x006;                                        //波特率7.5MHz
1 j- K. c, e6 j6 X2 ~9 f# J5 t1 F* J    SpiaRegs.SPICCR.all =0x008F;                         // Relinquish SPI from Reset
4 A; C" M9 Q& u$ F' x4 ^0 W    SpiaRegs.SPIPRI.bit.FREE = 1;                // Set so breakpoints don't disturb xmission
$ h" K& a" p2 x}2 X; Q3 Z! E; C+ L4 }

7 A; x) _3 O7 I! ivoid spi_xmit(Uint16 a)
) _( Q7 O/ n% a4 [{
' R4 K) B9 Z9 W1 ]0 R    SpiaRegs.SPITXBUF=a;
, h# ^; N" s" t/ L; i' s}& F$ V) r9 W2 a

. C1 D9 ~$ ]5 {* g! O6 _! W! Hvoid spi_fifo_init()/ V( t2 N4 G4 X0 w  Y8 a7 M0 A
{
* [( z6 g$ d' @4 {% `+ R2 q// Initialize SPI FIFO registers/ R7 H# Y3 j7 K
    SpiaRegs.SPIFFTX.all=0xE040;& n4 C8 ~: ^6 v  ]
    SpiaRegs.SPIFFRX.all=0x205f;9 j& B+ c' R7 k0 S; z5 ]# T' `6 l4 K
    SpiaRegs.SPIFFCT.all=0x0;# j1 t1 l# u" y% ?) I! r" r
}! H" l/ W1 @6 n) B
(顺便说一下,f28335的芯片资料上SPI波形的高电平不知道为什么是5v,是不是错了)
% W0 p, ]7 S/ H% j' k, X* F
  • 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" X6 s! l; B3 s- W& V
    不会吧
    ( {# R! c2 x& B( K
    原来做的东西,当时没注意,反正读AD结果是对的。现在拿出来测波形,低电平是2V,再读原来的AD也不对了,不知道哪里出问题了,悲剧的是原来的程序也找不到了( x, r2 W0 \2 u4 s! n

    该用户从未签到

    5#
     楼主| 发表于 2021-6-4 16:39 | 只看该作者
    qq666888qqw 发表于 2021-6-4 16:36$ P$ P* O0 o; J
    肯定不是5V  你看看硬件上哪儿加入了直流分量没
    ) N+ G* y4 B$ i' S2 ~6 G! X
    我测的高电平是3.3v没问题,5v是28335SPI手册里的,在最后面,你可以看一下。我的主要是低电平不对,从芯片里直接引出的,什么都没接  w3 l) y$ r7 g, a' `0 R
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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