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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

62

积分

注册会员

Rank: 2

积分
62
跳转到指定楼层
楼主
发表于 2015-5-23 19:02:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用下面的例子代码,不能使SIMO和CS为低电平:
& b* \/ K/ J7 w, u" s+ }1 T3 Gvoid PSCInit(void)" |4 h2 Y* |/ ]1 _$ w4 k6 t; y
{
. e. N3 P' H* O- n6 U$ @        PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);1 p. n- U% Q  L& Q5 z2 |5 x; L
}3 s6 G& W6 c; ^7 |; g2 Y+ W& w
9 Q  Q( W8 P6 o1 t
void GPIOBankPinMuxSet(void)* C; D4 w4 X" Z+ k) U
{& N' L8 ~6 p0 R9 h6 Q2 C
        // DRDY     ------------ GPIO6[14] -- 111
6 n$ L" x- b: E+ J% W        // SPI1_CLK ------------ GPIO2[13] -- 46
) F) {( K2 g% r+ z3 q- O& ~5 s        // SPI1_SOMI------------ GPIO2[11] -- 449 v3 n/ T* ~' K. j9 k% j9 r5 N
        // SPI1_SIMO------------ GPIO2[10] -- 43, l: {* e1 a. k$ z! R! O
        // SPI1_CS2 ------------ GPIO1[0]  -- 17
& {% I. O9 ^; c3 Z$ T. S0 ?        // SPI1_CS3 ------------ GPIO1[1]  -- 18
" p6 j2 m! H: `( I6 f1 G( P- p
& a( _% w7 }$ [* v, X: m  O        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = (0x88000000);9 ~! b' p$ }) M- A% T. A' y
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) = (0x00880800);5 N0 {) y: k  G7 W! `0 d
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x00000080);4 s) t/ e1 j3 t6 ]  N. R+ s) e1 C

  h3 v+ p; X5 j/ m        //DRDY9 @) Q6 N: Y4 t& P
        GPIODirModeSet(SOC_GPIO_0_REGS, 111, GPIO_DIR_INPUT);  // GPIO6[7] DRDY( U# Q" I+ a" K3 N7 D; Q& |6 r$ l
        // CS2,CS3
$ `! {7 l! \# h* V        GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT);   // GPIO1[0] CS2
5 ~4 J4 t: {: E& ?% U' g7 n        GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT);        // GPIO1[1]        CS3& G/ ]; z4 p# j2 y
        //SIMO& Z/ Z6 d2 E: S: T, t0 ?+ W* B' Z
        GPIODirModeSet(SOC_GPIO_0_REGS, 43, GPIO_DIR_OUTPUT);   // GPIO2[10] SIMO
, l1 t$ r/ K) z6 E        //SOMI
2 }5 m& v* t7 Y6 q4 ~4 i        GPIODirModeSet(SOC_GPIO_0_REGS, 44, GPIO_DIR_INPUT);    // GPIO2[11] DOMI) d0 R5 J, A; K. o
        //CLK
+ H% X. T' y; N        GPIODirModeSet(SOC_GPIO_0_REGS, 46, GPIO_DIR_OUTPUT);   // GPIO2[13] CLK
; H2 j9 Z$ M& g- C* M- e9 K$ v! G2 D6 k% [1 ^8 a) S
        // LDAC
  ]/ u( p, T# g! x" a7 ~2 L        GPIOPinWrite(SOC_GPIO_0_REGS, 46, GPIO_PIN_LOW);  // CLK
" e& Q5 k& p% h  K+ ]& l% x5 E        GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
8 J1 e6 ^! T1 x6 E! P# {* D9 s        GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2
# a- S( ^- M  }, J$ Q        GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); //CS3
! s0 h! w5 o; \7 u+ ]' Q$ F        GPIOPinWrite(SOC_GPIO_0_REGS, 111, GPIO_PIN_LOW); //DRDY
& _3 O6 T) u; ?9 a6 B* H}) [- E; }* Q( F7 c# K

, W* g7 l& o& `0 Z! j5 X: _* wint main(void)7 }0 |  K2 e1 n+ a7 I+ y* D
{) }6 Y" V# b3 i% V- c( |
        // 外设使能
# c& M! [  v  |( L- ]8 d        PSCInit();
& Z4 d- T: f7 }
9 D, L* C6 S! M; v   
7 g5 O7 t$ M8 e/ \8 q    // 管脚复用配置( O1 t# J% {$ A3 {0 q
    GPIOBankPinMuxSet();9 D% U& p7 U( v9 q
    for(;;)  n6 {' p8 L' n  d# ^2 n
        {: Q3 L6 _1 ^2 g' B1 w
                SET_SCLK();//时钟正常输出% g2 D5 \2 N& R. T& K  w
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2+ d& G) ?' W- C) V( ^6 u2 u2 J0 y) X
    GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); // CS3
+ @5 O! @! Z9 X9 V    GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_HIGH); // SDIN
( i8 U, H' K8 p, y: t5 Q
7 ~+ }* W) `! \; c* d- v; y  k  d0 B    delay(20);
$ _6 N! O2 a/ h. s; K' R- q                CLR_SCLK();* [$ r- R8 ~" a
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS3  D5 ~! L! m! N* `. Y# Y# \
                GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); // CS3
! G/ w$ ?8 _( g% {5 F: O. E% C( I                GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
+ p$ ]) Q2 G% p) y! A8 w2 Z; ^                delay(20);
/ ]% b. `7 M7 N- V5 {        }" d5 ~( l1 j  I1 u" |/ S1 V! T8 v
}
( T* N9 _) E, M
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-25 14:26:53 | 只看该作者
这个GPIO的配置是没有问题的,在主函数里并没有使CS2拉低,其他的没有问题的
9 f: L6 ~" ?" S5 A+ w; ~; y3 }# w
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-3 23:36 , Processed in 0.036570 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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