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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

62

积分

注册会员

Rank: 2

积分
62
跳转到指定楼层
楼主
发表于 2015-5-23 19:02:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用下面的例子代码,不能使SIMO和CS为低电平:
( M" X" P0 l, a) K" J" bvoid PSCInit(void)
- _9 b2 X8 B6 k8 d& v7 a; j{% L) i! L/ X( D
        PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
* w" w5 y  }2 s2 n! j# S}3 _; r4 F* l' U; A* q
  ]) Y3 X* F  q* ?) f6 ?5 u+ h+ D
void GPIOBankPinMuxSet(void)
: u. o1 }/ ]5 X{
) [, w1 v0 k, w' m% k# i        // DRDY     ------------ GPIO6[14] -- 111
3 `+ I% n- t: f; e: S, N        // SPI1_CLK ------------ GPIO2[13] -- 46
& z$ t1 }' j: S' U7 A        // SPI1_SOMI------------ GPIO2[11] -- 44' J3 w* d: @: o. |3 `5 J
        // SPI1_SIMO------------ GPIO2[10] -- 43. L+ Z9 ^1 a5 X+ s4 x6 o& e
        // SPI1_CS2 ------------ GPIO1[0]  -- 17$ a- ^. {/ U& T$ g5 N
        // SPI1_CS3 ------------ GPIO1[1]  -- 18  q5 S1 Y+ W8 H+ `
+ _" E# W3 W3 h5 ^) T! s
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = (0x88000000);* y: J4 t, T( w7 U7 C
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) = (0x00880800);, u+ o) W8 m/ t
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x00000080);- a7 `0 t0 z! ~6 O0 ~! S

& n( `; e7 Q, F5 }! x, K        //DRDY
5 B" M2 |" V; I; D9 a" o5 ?        GPIODirModeSet(SOC_GPIO_0_REGS, 111, GPIO_DIR_INPUT);  // GPIO6[7] DRDY
; [) p4 Y% f) G- [; c1 y3 q        // CS2,CS3
$ X6 y5 j% p' H2 [- w9 U) O  C5 [/ l. [        GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT);   // GPIO1[0] CS2
$ d/ w! A  @) C' z+ d% l9 F  H        GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT);        // GPIO1[1]        CS3
* ?0 l/ b8 ^0 X+ \; D* r        //SIMO  B% @% t' T7 p7 T4 L1 C! ]3 i
        GPIODirModeSet(SOC_GPIO_0_REGS, 43, GPIO_DIR_OUTPUT);   // GPIO2[10] SIMO
# k8 x! X' f3 a7 y6 X        //SOMI
/ q: D) j0 i  O" u5 ~  K        GPIODirModeSet(SOC_GPIO_0_REGS, 44, GPIO_DIR_INPUT);    // GPIO2[11] DOMI; f* f+ C1 C3 d) ]3 Z
        //CLK7 _! f; Z) d2 |, v) I8 [- V6 F
        GPIODirModeSet(SOC_GPIO_0_REGS, 46, GPIO_DIR_OUTPUT);   // GPIO2[13] CLK
' Q  i. z: ?; t, [! a6 k
  Y0 Z* E. p: a  v        // LDAC
% p/ ^" c5 h" G3 n4 v1 j        GPIOPinWrite(SOC_GPIO_0_REGS, 46, GPIO_PIN_LOW);  // CLK$ E( v/ L, ~1 d6 P! F, @
        GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
  B6 q+ H1 _( i3 p3 Y/ j        GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2) v0 ?8 o; `$ F, T- T1 j- m) \# d
        GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); //CS3
- X3 {, I; `: @- M; d- G" e0 p        GPIOPinWrite(SOC_GPIO_0_REGS, 111, GPIO_PIN_LOW); //DRDY. ?+ F- h# X7 K; D+ g7 b+ o. a- R% p
}' N- T  v, z( [. C0 W" F4 R

8 V' p* s) X  Kint main(void)
4 c' t) h+ `3 K- d8 P$ m% o$ q{: B7 U: N7 _+ d
        // 外设使能* Z. K: }% a- ]7 }. L8 ?, Z1 b
        PSCInit();" J& r8 E" ~/ `3 l9 F0 b7 @
! L+ H  A% b% m9 O; Q
     I0 [0 e. F, w: v! J* U
    // 管脚复用配置4 k  k% i3 A2 E& M& c7 ~! g
    GPIOBankPinMuxSet();" A: ~5 B" b0 Q, S) W, d
    for(;;)
8 o9 x% B- t( Q% M2 w& l        {
- X! {! M+ D2 W4 J) @* W, D) {. F                SET_SCLK();//时钟正常输出5 j0 _* u( ^+ a! M
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2; b9 c- N- k3 I
    GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); // CS3
( _  R$ g: A' w  V/ T6 J8 P) {    GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_HIGH); // SDIN
4 D3 d% P  h8 G0 _3 C6 V$ m/ k5 i: C6 e8 I# i+ D9 e
    delay(20);. M2 h' V+ i5 z
                CLR_SCLK();$ W/ s) j* \9 X6 y+ ~9 g
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS3
  E( G( @; w$ A; \5 T                GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); // CS3" n  C# N. l) H1 R/ h4 s
                GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
, ]' T2 N6 Y, [. j* i, U8 d                delay(20);1 q+ i4 @! |& L" v5 f( S1 H0 e
        }
3 Z- k4 e) r8 s  K3 n7 D8 I}
5 |' t6 s* U: \4 A: n" V
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-25 14:26:53 | 只看该作者
这个GPIO的配置是没有问题的,在主函数里并没有使CS2拉低,其他的没有问题的5 L/ w$ j5 |+ ?8 D4 d) T8 {
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-23 11:40 , Processed in 0.039496 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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