TL138_1808_6748-EVM使用GPIO模拟SPI不能是SIMO为低电平 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

62

积分

注册会员

Rank: 2

积分
62
跳转到指定楼层
楼主
发表于 2015-5-23 19:02:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用下面的例子代码,不能使SIMO和CS为低电平:: t+ R; t; e, Y
void PSCInit(void); l. |& Z0 {6 `% j. x/ x' |
{
7 [+ _7 e0 |& G7 I7 k        PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
  t  P2 _: V# c! P; E$ R/ k) Q" f}
5 x5 d: e8 F8 ^  b+ X3 P3 F$ T
( v9 x9 v* W, K% \void GPIOBankPinMuxSet(void)) N5 L5 O% f: _7 e6 O/ ~
{* x( \4 o3 o4 g5 w; W
        // DRDY     ------------ GPIO6[14] -- 111) b5 ?/ U1 B  }7 n/ q" p
        // SPI1_CLK ------------ GPIO2[13] -- 46
) [8 B. u# ~4 t5 F. P8 e        // SPI1_SOMI------------ GPIO2[11] -- 447 W& m/ M4 D4 U3 R
        // SPI1_SIMO------------ GPIO2[10] -- 43
" ]5 S6 ~9 _: B! R: F: l# i) ^        // SPI1_CS2 ------------ GPIO1[0]  -- 17
6 x. o. I$ b: W! J        // SPI1_CS3 ------------ GPIO1[1]  -- 18. W! L2 Q# E$ o, u% ~6 p
3 f/ |4 c# `! t+ I( Z
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = (0x88000000);
) x' s: o) x$ Q8 b; c& W7 G        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) = (0x00880800);8 S  ]- F; I! Q. \- H* k" p# t* v
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x00000080);
  w$ N* H! U+ j" n9 [/ T; t& S" Y* l  F  ]) E  d' ~% `2 S6 S+ Q6 h
        //DRDY
# T0 [$ u2 e/ N, a/ K* H2 Q        GPIODirModeSet(SOC_GPIO_0_REGS, 111, GPIO_DIR_INPUT);  // GPIO6[7] DRDY# b3 o/ {# X$ G& S/ ^$ \/ S, ?
        // CS2,CS3: g% u! p) F4 S; k* w
        GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT);   // GPIO1[0] CS2/ L* ]1 E+ R+ Z6 _, N: C
        GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT);        // GPIO1[1]        CS3
6 |! {: W9 g7 w3 Q4 U1 f/ E        //SIMO# a( a* \" ~* s
        GPIODirModeSet(SOC_GPIO_0_REGS, 43, GPIO_DIR_OUTPUT);   // GPIO2[10] SIMO$ o/ K7 k/ R4 a& u5 m( T* l
        //SOMI6 a9 j- }; b* p& S2 f8 k" b3 j0 a! \
        GPIODirModeSet(SOC_GPIO_0_REGS, 44, GPIO_DIR_INPUT);    // GPIO2[11] DOMI
* c. V* N1 i0 V) u8 B3 |  T& d        //CLK
  Z5 F& ?7 p( M3 L        GPIODirModeSet(SOC_GPIO_0_REGS, 46, GPIO_DIR_OUTPUT);   // GPIO2[13] CLK6 i# `' M; W4 ^. s. D
" M( M1 D% J1 p- F
        // LDAC$ G5 j9 F; b2 D. |
        GPIOPinWrite(SOC_GPIO_0_REGS, 46, GPIO_PIN_LOW);  // CLK
) W) x( o* z# W; J  w        GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
9 u3 ]9 x1 ?( b/ f3 H; @- S' R; b        GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2
. ?! I1 T% C' W3 G3 ]& N        GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); //CS3
5 r' d, F' \3 h4 _! l) `        GPIOPinWrite(SOC_GPIO_0_REGS, 111, GPIO_PIN_LOW); //DRDY
. _& W2 |6 V, A. X! z& o2 X+ z) g}4 v( ~% h+ u# W) L1 O; w
/ C9 q3 n+ B! m& g. C# C1 v9 [* |6 M
int main(void)- s% `8 w; p4 W+ w2 p& X' T" W% T
{9 U9 X8 a$ B3 `4 x; A. p
        // 外设使能0 _  a: h* C. j, p
        PSCInit();
7 P8 O, u% D: |3 _4 S* e( m
6 Q$ h, u4 u% K! @9 \% `   0 z5 n, b8 D) @6 V* T
    // 管脚复用配置
& w# t( y  J; r. V! o4 ?    GPIOBankPinMuxSet();
3 K0 y& |" V  X0 s- r, r/ g: I( a: Q( a    for(;;)
) n0 P# u7 H+ x2 u: @, l        {* m& ]4 g; l2 E4 Z' x0 K5 |
                SET_SCLK();//时钟正常输出
: r* i$ ~: s/ P                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2
' t4 n2 ^' m# a; j% K, S    GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); // CS33 r3 L0 y6 p/ T* f5 V' K
    GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_HIGH); // SDIN
. q$ @0 l4 I, M1 g
+ s( c4 l& q" e: O    delay(20);% W3 m3 ~, c2 I7 @0 G" s
                CLR_SCLK();
' m- T& B. d7 Q7 B+ U5 f) d5 t3 F; J                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS33 d+ F6 J5 ~+ K3 o% ^
                GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); // CS31 _  s  i: D9 P: x: D3 v/ |% N
                GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN' ?8 O! r, z$ L# A
                delay(20);) `; |  N9 ^; x4 Y& e- F
        }
6 R2 @" @. c2 o& \( R}
3 e7 k' C5 ?" E" H; w
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-25 14:26:53 | 只看该作者
这个GPIO的配置是没有问题的,在主函数里并没有使CS2拉低,其他的没有问题的- m3 Y( E# |! D  S
回复 支持 反对

使用道具 举报

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

本版积分规则


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

GMT+8, 2026-1-11 21:46 , Processed in 0.040375 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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