TL138_1808_6748-EVM使用GPIO模拟SPI不能是SIMO为低电平 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6489|回复: 1
打印 上一主题 下一主题

TL138_1808_6748-EVM使用GPIO模拟SPI不能是SIMO为低电平

[复制链接]

1

主题

2

帖子

62

积分

注册会员

Rank: 2

积分
62
跳转到指定楼层
楼主
发表于 2015-5-23 19:02:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用下面的例子代码,不能使SIMO和CS为低电平:
; {" L0 R( h% t. x6 r  F# Yvoid PSCInit(void)
% `5 k' i& t1 F0 R' x{
4 x$ T2 g) ^' {" I        PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);$ R$ O2 m1 ]* r3 O* Z* V6 L
}! u2 e8 q/ m9 G/ Q+ @; `8 _

, v- Q. a" y1 ~! v7 V8 mvoid GPIOBankPinMuxSet(void)
3 @0 p5 Y& s% y1 M# s0 g, h2 J{
/ ^: V' B: m) g9 j( L        // DRDY     ------------ GPIO6[14] -- 1110 s1 O2 j+ j; X! U* @4 _+ ~! X5 y* \9 D
        // SPI1_CLK ------------ GPIO2[13] -- 46# h  ~' O+ F# b! J7 n
        // SPI1_SOMI------------ GPIO2[11] -- 44
+ t" H* s2 m8 T& t( m0 k        // SPI1_SIMO------------ GPIO2[10] -- 43
" b1 v  @# z- ^! _/ c        // SPI1_CS2 ------------ GPIO1[0]  -- 17( L- Y% b8 c- k3 n( P
        // SPI1_CS3 ------------ GPIO1[1]  -- 18  l8 N! E. }0 f& X' [: {  i, K+ v+ W( ?

! R2 i, p7 \. I9 f6 Z; |8 ?, {( p8 s        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = (0x88000000);* K$ W3 G9 p- P8 D6 @
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) = (0x00880800);' G: Q* v9 p0 {: d- W7 ]+ x7 w+ l
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x00000080);
+ M, X  J3 Q  U+ a, q, C. T4 y7 u3 P/ K; u5 _
        //DRDY1 G$ @, K5 H. n/ M: A- X
        GPIODirModeSet(SOC_GPIO_0_REGS, 111, GPIO_DIR_INPUT);  // GPIO6[7] DRDY! ~: [: U4 k) Y& G2 m3 ?
        // CS2,CS3
" x: {/ N: E" t% ?. }8 j        GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT);   // GPIO1[0] CS25 l* _9 ?3 s. [! ~2 R: D; \1 J- ~7 F
        GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT);        // GPIO1[1]        CS3" l$ O1 s" k9 U% e+ I6 N" b: I, Q
        //SIMO
, V$ O3 }8 r. F& ^% G$ r6 y        GPIODirModeSet(SOC_GPIO_0_REGS, 43, GPIO_DIR_OUTPUT);   // GPIO2[10] SIMO
2 e9 D) J' P0 T9 ~$ ^; y, \        //SOMI! K/ }1 `2 Q( i; P2 W
        GPIODirModeSet(SOC_GPIO_0_REGS, 44, GPIO_DIR_INPUT);    // GPIO2[11] DOMI
6 ^6 V" `/ g4 u5 M2 N  L        //CLK' p, C& `) e4 j* L8 c
        GPIODirModeSet(SOC_GPIO_0_REGS, 46, GPIO_DIR_OUTPUT);   // GPIO2[13] CLK4 N3 C: J' W% O( N# S: X0 B2 m
+ b+ P& }, |6 G0 @, P+ H: a5 A+ ]
        // LDAC, [2 T: _  A5 N/ i8 W& d: X) q
        GPIOPinWrite(SOC_GPIO_0_REGS, 46, GPIO_PIN_LOW);  // CLK: H; _8 U# L" j% ~, M$ H7 y$ l
        GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
; \  f4 G! }7 `( i$ p2 e, @) D        GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2
6 X! _: o9 }6 x" S2 j; H9 [$ r        GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); //CS38 |& ^- ]+ F8 L" A& _% ?5 x$ T
        GPIOPinWrite(SOC_GPIO_0_REGS, 111, GPIO_PIN_LOW); //DRDY
, `+ u) `; |# Q# a. F4 J9 {8 u' L}
0 O5 c! |) b! _  u) l" B* W, k, Y. e# o8 `7 |! p7 _
int main(void)' P! e" c5 \" D
{- K6 K; W2 T+ D& l) ]( A  M' P# Q
        // 外设使能( k2 I* m) E6 l, n
        PSCInit();4 I0 i* B+ j5 w$ p) v( s, w, z

# _' b6 e5 ^1 y' r/ N   * ~9 }5 s- `3 R3 q9 r/ \
    // 管脚复用配置
9 v# O% d2 J& G* i1 a- S& K    GPIOBankPinMuxSet();
3 r& k! C+ L2 ^5 L4 Q. C8 V% {  A    for(;;)* A7 K6 H: @9 J) o# I: `8 I+ L
        {! L* ^6 e$ Z8 R! m/ c1 t
                SET_SCLK();//时钟正常输出3 Z- d2 j: w' Q: y7 |$ r
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2& W9 _! t7 r2 f8 g
    GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); // CS3! x8 p; f) c2 E: e% c" R/ J, V
    GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_HIGH); // SDIN
# K* s3 s- j6 L7 W( j8 V* u
' J/ |/ v; f4 E, o5 U    delay(20);: G3 B0 Z7 E8 U- x, d% @' S( B9 e
                CLR_SCLK();
2 j! i+ [, E. E  m# q                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS3
! p5 |" p4 W; w* q1 P/ m9 j6 x                GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); // CS3
8 K$ f( s. l0 }9 k# l0 ^3 ]! l                GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
) y& H. B* G$ h3 `+ u0 V                delay(20);* c/ }/ o& A9 ]0 l/ J7 c0 f
        }
! `. F6 D7 o0 |# q, d}* z9 z. v' Z7 M) E6 e7 |
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-25 14:26:53 | 只看该作者
这个GPIO的配置是没有问题的,在主函数里并没有使CS2拉低,其他的没有问题的1 i% q# u  }0 z4 e' p$ B6 f
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

点击跳转“创龙科技服务通”

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2026-3-18 12:40 , Processed in 0.041742 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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