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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

62

积分

注册会员

Rank: 2

积分
62
跳转到指定楼层
楼主
发表于 2015-5-23 19:02:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用下面的例子代码,不能使SIMO和CS为低电平:
. U8 z. }' |  P0 Dvoid PSCInit(void)
, g* @2 J  X' v6 m6 v5 W$ t6 B2 l{  q: R. K+ r9 c
        PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
4 ~2 C% ]. a2 t+ Q) c. Q9 C/ m}* \: }- G4 v5 c- q, m

2 P! _, X% d: {; h0 C  P4 l2 ^void GPIOBankPinMuxSet(void)
$ |$ l% C4 j. B, q% @3 i* `" s{5 j; J, O* v1 k; c6 w5 y8 ^: T+ c
        // DRDY     ------------ GPIO6[14] -- 111
% f0 j: C) K1 X2 ^8 ?; p  Z        // SPI1_CLK ------------ GPIO2[13] -- 46" H( q9 a7 @1 y& g
        // SPI1_SOMI------------ GPIO2[11] -- 44
; p) v! ?1 Q) t+ @& _        // SPI1_SIMO------------ GPIO2[10] -- 43, I9 B- w; P8 }7 }
        // SPI1_CS2 ------------ GPIO1[0]  -- 175 D% M2 G" {. s2 |* m7 w/ z
        // SPI1_CS3 ------------ GPIO1[1]  -- 18
2 U% D7 m9 \0 n0 ~. g, G6 k  Q, S; P) T
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = (0x88000000);" H# F0 |* p2 r* B4 C
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) = (0x00880800);5 M& |- ~/ g# G( g
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x00000080);
/ P9 `  S8 }& T& T! ?1 A: s0 C/ z; e1 ^/ F# z
        //DRDY! E/ w* v* S1 P4 {
        GPIODirModeSet(SOC_GPIO_0_REGS, 111, GPIO_DIR_INPUT);  // GPIO6[7] DRDY; v, W; z1 }3 Q
        // CS2,CS3
6 F' U( P! L, k9 Y7 Q/ o        GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT);   // GPIO1[0] CS23 h8 J' A! @- q7 X; l
        GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT);        // GPIO1[1]        CS3  X+ z7 d$ v5 |5 |0 r) U9 N' \
        //SIMO" a1 P8 b4 z0 t9 u' j( _" \% x% C
        GPIODirModeSet(SOC_GPIO_0_REGS, 43, GPIO_DIR_OUTPUT);   // GPIO2[10] SIMO
. }% Y8 y8 a2 n8 g4 L1 [        //SOMI' q" V/ ^' ^$ W/ {$ ^0 Q# C8 J3 j
        GPIODirModeSet(SOC_GPIO_0_REGS, 44, GPIO_DIR_INPUT);    // GPIO2[11] DOMI
* [8 @2 B- Y: f9 h- Z        //CLK6 N! z& z7 c' Y: x; v9 L2 o5 o  S3 `( j
        GPIODirModeSet(SOC_GPIO_0_REGS, 46, GPIO_DIR_OUTPUT);   // GPIO2[13] CLK1 R0 t; ]" [: p3 W) g. C* l2 ]

* B# }2 D. h1 ]# x, I/ D( v        // LDAC
1 L9 _6 l. u* R, X) Y6 I        GPIOPinWrite(SOC_GPIO_0_REGS, 46, GPIO_PIN_LOW);  // CLK
3 i4 n. k9 _0 ?9 p1 Y$ V        GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
9 l$ V# S" B9 A! T* r( v4 h! G+ e2 n        GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2  N4 ~! Q, V+ y2 C. `! W
        GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); //CS3  `% B& c$ b9 U, l, b; j% J, g
        GPIOPinWrite(SOC_GPIO_0_REGS, 111, GPIO_PIN_LOW); //DRDY2 m2 I" r' A. ~& F0 h, c/ |
}. K0 _9 ~, c+ ]5 D- l& `+ b
- A. g8 U; f: q
int main(void)5 S4 j/ b5 G4 n1 U
{4 Y; y1 R; n6 j
        // 外设使能  Q9 P; X8 h* @+ \4 p
        PSCInit();
7 K  {$ T4 Y, |3 k$ N; T
9 e! z# b" R2 n5 i0 w   ; U5 n" J% r% N$ `5 Y: x# f
    // 管脚复用配置/ k; ^2 Z/ D( O  {5 V$ f* f( a
    GPIOBankPinMuxSet();/ y- Y( E4 Z6 [/ J0 d& w+ N* s; E
    for(;;)
0 x, v9 C) r7 W5 e4 h7 c+ n        {- Z& {/ Z5 u3 W- q% [
                SET_SCLK();//时钟正常输出) g* b% a' \. m
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2
- Q- L! v& v2 |3 @' R3 a2 N% W& }    GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); // CS31 F- f' V) Z$ _& F" |& c, ], K
    GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_HIGH); // SDIN
; p8 g. b) h/ L9 ]# p% P% N) ]7 z, V. F3 F) d
    delay(20);
0 Q; ^# M+ x8 p9 _; n* c2 B                CLR_SCLK();
4 c9 ?+ J/ m; @# n  _                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS3  ]  q- U& o; x0 x5 d. n! R4 x3 i
                GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); // CS3
, d3 c2 E( c7 j# |. M5 e1 k" i  V                GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
7 n. z: P# A4 P; m1 V5 ^9 v, C# S                delay(20);
$ u  G- D+ \4 m  J2 [4 d        }+ G9 H8 ]: }8 ~5 r: J7 Y; S, ?4 w( y
}* a- B: H3 P7 A2 }9 u# X" F
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-25 14:26:53 | 只看该作者
这个GPIO的配置是没有问题的,在主函数里并没有使CS2拉低,其他的没有问题的
; o: p+ G, W1 L# T' u
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-24 14:00 , Processed in 0.038304 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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