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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

62

积分

注册会员

Rank: 2

积分
62
跳转到指定楼层
楼主
发表于 2015-5-23 19:02:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用下面的例子代码,不能使SIMO和CS为低电平:
# [. f) n. F1 t0 m2 D  Hvoid PSCInit(void)
0 L- O% P; S6 M  o6 j9 e9 v0 U- E{
# w, j7 v" b- k% Z5 O0 h2 @' y        PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
0 t7 D: Y9 ]( p1 v( N}: w4 Z. S  M( C

5 J; g, @* {4 x" W0 Fvoid GPIOBankPinMuxSet(void)0 l7 w' U2 B8 Z' K) b9 C& H7 J
{" y1 e6 d9 c7 V
        // DRDY     ------------ GPIO6[14] -- 111
$ o) v& a$ R7 r6 A        // SPI1_CLK ------------ GPIO2[13] -- 46
8 L3 p, F+ D( K# l5 t2 }- g( A        // SPI1_SOMI------------ GPIO2[11] -- 44
; ?1 [4 ?7 w' T) z" H; m7 A, C( g        // SPI1_SIMO------------ GPIO2[10] -- 43
3 ~, y5 \9 q! c+ {& N        // SPI1_CS2 ------------ GPIO1[0]  -- 17
. n3 _, y; z  S  s8 z: Y        // SPI1_CS3 ------------ GPIO1[1]  -- 18
- P! g1 d- Y. G7 }, ~0 b* t6 u9 V) K5 C  b  ~) m1 L; Q
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = (0x88000000);
7 o* m" F, e) Y( D% A4 ^5 p        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) = (0x00880800);/ X. t3 e- b+ d! w
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x00000080);+ H: M" }4 D+ h. a" Z; c* a' R
/ T  N8 y6 L8 M( H$ o+ ~8 k" `
        //DRDY
  c2 \* b) h" p6 m6 P, B        GPIODirModeSet(SOC_GPIO_0_REGS, 111, GPIO_DIR_INPUT);  // GPIO6[7] DRDY
3 r, B9 z  M' D9 W1 a% b8 B0 d! N$ Q        // CS2,CS3
* F' `! B! O- R/ ]; D% }% z* _        GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT);   // GPIO1[0] CS20 `; q( f; ^6 x; }4 Q; A
        GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT);        // GPIO1[1]        CS31 B& `( p: m# W. A" P' F8 N
        //SIMO( M3 E# u: G  @6 Q9 ?2 u
        GPIODirModeSet(SOC_GPIO_0_REGS, 43, GPIO_DIR_OUTPUT);   // GPIO2[10] SIMO8 T, F* O4 a2 g: h( q6 Y
        //SOMI
# k; O( B, a  r4 i1 O( _        GPIODirModeSet(SOC_GPIO_0_REGS, 44, GPIO_DIR_INPUT);    // GPIO2[11] DOMI
7 ~- h# B! U  K        //CLK
7 ]/ f9 I( n0 C3 V6 N! G# `: ~        GPIODirModeSet(SOC_GPIO_0_REGS, 46, GPIO_DIR_OUTPUT);   // GPIO2[13] CLK
" e. I. I8 K$ U& T8 {3 b' z1 F4 {
: H7 A3 K4 M2 e6 {6 o        // LDAC6 }) Z1 j3 C4 j' X4 g, P% B- y5 O
        GPIOPinWrite(SOC_GPIO_0_REGS, 46, GPIO_PIN_LOW);  // CLK
4 n0 K  e6 y7 C  W' y) `        GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
; j" ]( p9 \* n' T5 i3 I- z2 i" _        GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS20 y2 Y6 e8 b: ~! h7 h8 E: H
        GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); //CS3: ]& Z# _1 s: w
        GPIOPinWrite(SOC_GPIO_0_REGS, 111, GPIO_PIN_LOW); //DRDY
* `3 T! P( V+ F, M}6 h" j$ F, Q" p+ O6 k, ?8 e
5 [" A+ `: b# U
int main(void)3 H5 z2 S$ W1 l& @: x0 H6 J
{
! z- r/ g: }9 w        // 外设使能- ^- ]( n! a/ m$ s
        PSCInit();7 I+ {2 t) E3 X/ K) b2 e  |. k
3 c9 r' O# E- {
   
$ q! l9 R! {' `    // 管脚复用配置) J0 v- a' E% P# m$ d+ j
    GPIOBankPinMuxSet();
4 A/ V/ g1 U; h! f1 [9 V    for(;;)  g1 ?0 p& ]$ I) a  I4 y/ W
        {9 a: n( M: E! {- k
                SET_SCLK();//时钟正常输出, [" E0 s$ \  d1 E: _  K
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2; U9 i" F" L: q$ }5 y: c
    GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); // CS3
( _* y9 s0 U- E  `$ D/ F    GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_HIGH); // SDIN% t0 Y, O' e, P% T

- P8 N+ a  }5 k% k1 P( C& U    delay(20);! A4 G& @; B' r% S5 D) I* g
                CLR_SCLK();2 ]7 r/ j1 O' h6 ~% {; {( j6 I) C+ g9 Y
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS3" Q( k/ c+ n% l9 u; n. a
                GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); // CS3$ T& s" H. Z+ E* G* y7 `, N4 f" b
                GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
" O4 w- y% A. k$ n* e( u& U                delay(20);
1 b& a" m2 B% k; O1 f" @        }# Y/ g4 c0 T7 k! {# Y
}6 M8 I/ q, f3 u* k5 k/ R- C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-25 14:26:53 | 只看该作者
这个GPIO的配置是没有问题的,在主函数里并没有使CS2拉低,其他的没有问题的
' s, `, n* l6 l  L) X( Z
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-26 13:07 , Processed in 0.037786 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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