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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

62

积分

注册会员

Rank: 2

积分
62
跳转到指定楼层
楼主
发表于 2015-5-23 19:02:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用下面的例子代码,不能使SIMO和CS为低电平:
2 B  M4 H, z) _4 K. R" N2 Bvoid PSCInit(void)
+ W; `5 |0 j- @1 `8 V. J{
( Z( P( Q+ A* a7 Q, ?        PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);6 U9 K1 ]0 d6 I$ B% v8 v
}
, X7 n; N9 j! E; Q/ N6 `1 A) _! h1 S, K- y
void GPIOBankPinMuxSet(void)- v; G+ h+ K, _' _* p9 L
{
! N& l4 G: G8 ~        // DRDY     ------------ GPIO6[14] -- 111
/ d  G8 r0 v7 H8 G# x        // SPI1_CLK ------------ GPIO2[13] -- 46
9 Y- Q& u& A+ w" w: V        // SPI1_SOMI------------ GPIO2[11] -- 44
3 w2 [5 U6 }; O" s) b# P) `4 u$ r        // SPI1_SIMO------------ GPIO2[10] -- 436 |* P- o' f+ N  u
        // SPI1_CS2 ------------ GPIO1[0]  -- 173 Y  L& m6 N; }- D0 ]$ ?8 p7 n
        // SPI1_CS3 ------------ GPIO1[1]  -- 18
& R$ Q1 a% j: j3 C8 i* U. `4 `$ P: P9 V, L4 @6 A& P; N  a
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = (0x88000000);0 y" `, |8 d, u9 _/ j- ~8 E6 X! I
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) = (0x00880800);2 ^0 J3 {1 R6 e6 z+ l
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x00000080);
4 |/ F& }( R6 h1 T& Q' Q7 e5 R
, |+ \' _! r, c' Z. r3 X6 [        //DRDY
# K8 j3 u4 a( |8 O% f' ~+ T0 p        GPIODirModeSet(SOC_GPIO_0_REGS, 111, GPIO_DIR_INPUT);  // GPIO6[7] DRDY
' ^! \$ G4 @) O/ O# n2 h; s/ \& s  {        // CS2,CS3
- d0 s! N# j( L: @, ]8 n' E* S        GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT);   // GPIO1[0] CS2
" T! j( j+ j# _, H  j. r. _        GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT);        // GPIO1[1]        CS3  U' K8 b1 m- @; g
        //SIMO
8 d7 U( y5 n, [7 E% H6 ?2 R- x        GPIODirModeSet(SOC_GPIO_0_REGS, 43, GPIO_DIR_OUTPUT);   // GPIO2[10] SIMO( m+ j2 V7 Y, ?4 e# Q
        //SOMI
! f8 J5 Y0 k0 K/ y3 X$ q        GPIODirModeSet(SOC_GPIO_0_REGS, 44, GPIO_DIR_INPUT);    // GPIO2[11] DOMI
* M2 P  @% O! j9 E& x        //CLK7 P  M: @# }0 V. o( a- h
        GPIODirModeSet(SOC_GPIO_0_REGS, 46, GPIO_DIR_OUTPUT);   // GPIO2[13] CLK0 ^2 j! ]3 f5 I+ g. J( ~- a
9 J' ]- y; u% [/ d
        // LDAC' r: G8 r6 L) f7 A
        GPIOPinWrite(SOC_GPIO_0_REGS, 46, GPIO_PIN_LOW);  // CLK$ `6 m/ @" U2 ?! R
        GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
8 z4 ?% m/ e% J        GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2. S8 H+ Z" j2 i; W9 n( ~. g$ J! f
        GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); //CS37 y' n( u7 U# O  k& g" Y& _
        GPIOPinWrite(SOC_GPIO_0_REGS, 111, GPIO_PIN_LOW); //DRDY
5 E* x$ a" h: l" f6 F}
1 Z9 J3 K- X' R) r
& T9 w+ ~, Z$ F  l5 lint main(void)
5 P0 C  a) b- v8 Q: X{3 a/ W( L) j% c0 H3 W0 @8 U+ X
        // 外设使能7 f% F0 K+ F5 P: k1 X  F
        PSCInit();
8 _7 s' P9 ^3 U3 J" n/ J# d6 [2 V
) x1 `" _  k+ `& o  u: B+ z   - h, u. b; @+ Z
    // 管脚复用配置
7 z7 X  e0 Z8 L- P6 \    GPIOBankPinMuxSet();3 t1 m1 V) n7 B& W5 J2 k* h
    for(;;)# k& B9 ^0 W+ k! a9 @8 u2 u
        {
) d6 j3 A1 E. d# k' N                SET_SCLK();//时钟正常输出' ?$ j' d# G) C. c/ ?
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2
$ Y5 Y) K9 C1 @6 T    GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); // CS3
. }, M% H, e/ R4 L9 A9 _& J    GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_HIGH); // SDIN8 B+ e3 ?; K: h. A7 ~5 W) ~7 x* U
% Z7 k; p0 U0 \. B* i
    delay(20);7 x+ s5 v- d. A3 y# _% w$ p
                CLR_SCLK();
* g- Z" d& i- f# p+ E" K( s2 H2 G5 z                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS3) M; u. q5 @% o, g
                GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); // CS3
, t6 L+ p$ A) ]" M+ \7 }! a                GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
& _: N1 F3 E* j* n6 u) p0 X+ d                delay(20);! I: t# B" d' a
        }
/ h  B8 i3 p8 F$ E. K" S4 o}
$ p6 H1 v# B& Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-25 14:26:53 | 只看该作者
这个GPIO的配置是没有问题的,在主函数里并没有使CS2拉低,其他的没有问题的
0 V( }* R) ]: m) M
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-5 09:58 , Processed in 0.039880 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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