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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

62

积分

注册会员

Rank: 2

积分
62
跳转到指定楼层
楼主
发表于 2015-5-23 19:02:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用下面的例子代码,不能使SIMO和CS为低电平:- d) H% B/ u& H) o. o- @
void PSCInit(void)2 I; A5 n; A- j# n2 W. ^
{
' _, q2 }' \! D& P% y# O! n5 r        PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
& Q3 z$ l1 E$ P6 F6 `7 _2 s: {( H}/ ?1 x4 U- J; O$ A
3 R$ p* b4 ~8 \2 G% f
void GPIOBankPinMuxSet(void)
+ }( D  A9 x/ G$ y! b0 a{7 o: n1 X8 ?, S. Q- \
        // DRDY     ------------ GPIO6[14] -- 111
1 W2 b7 T) N/ c& u$ d* A8 |1 \        // SPI1_CLK ------------ GPIO2[13] -- 46) A/ Y& M5 y7 t5 m/ v) f2 `2 s3 h
        // SPI1_SOMI------------ GPIO2[11] -- 44" E: n1 d0 ~  I8 X( t9 @% x0 r
        // SPI1_SIMO------------ GPIO2[10] -- 43
/ G1 l/ ]! C: a+ W& g/ B6 [        // SPI1_CS2 ------------ GPIO1[0]  -- 17
" t% m" w& K" d, U        // SPI1_CS3 ------------ GPIO1[1]  -- 18
1 w1 B+ D6 w2 Z9 p6 i$ y- E7 F2 o8 d. s" ?7 C, h! A* g& @
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = (0x88000000);
" x& O; ~4 k: r        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) = (0x00880800);
$ K8 P; @8 h& J$ m# J        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x00000080);
( {- g+ w0 s" N' v6 E- d" U% i3 d% m" a  N6 ?: ?
        //DRDY
% }: y) Y! r/ e( c3 F# D% S, X: Y        GPIODirModeSet(SOC_GPIO_0_REGS, 111, GPIO_DIR_INPUT);  // GPIO6[7] DRDY5 n* s2 F0 r/ V1 D; f
        // CS2,CS3% h5 q! ~, R% j! s2 J4 n2 G
        GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT);   // GPIO1[0] CS2
) @* J9 v; h6 j1 e2 T. ]* I        GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT);        // GPIO1[1]        CS3
$ O# P- X  N: P- }2 ?, a5 t7 Y        //SIMO' K+ D+ n, ~3 T( G
        GPIODirModeSet(SOC_GPIO_0_REGS, 43, GPIO_DIR_OUTPUT);   // GPIO2[10] SIMO
; u6 P- N) X2 H& d        //SOMI
( o5 y& p" r# A$ E, z9 k        GPIODirModeSet(SOC_GPIO_0_REGS, 44, GPIO_DIR_INPUT);    // GPIO2[11] DOMI+ h' `+ u3 _, }0 Q& D# d2 D
        //CLK& T  H3 r" A; _4 }7 k; M! X  a
        GPIODirModeSet(SOC_GPIO_0_REGS, 46, GPIO_DIR_OUTPUT);   // GPIO2[13] CLK
8 F# x% o- Q5 X& B# K7 V9 j
4 R) p- L/ m2 C7 C# W        // LDAC
! F0 w2 T1 K" h        GPIOPinWrite(SOC_GPIO_0_REGS, 46, GPIO_PIN_LOW);  // CLK
/ R3 Z0 p2 L+ x5 G        GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN, d2 R, p1 [7 l( N2 Y) J; `
        GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS27 P* a. S) l# M7 B* g
        GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); //CS3
( H; ~- W. G: ?. z; f# d* R% n        GPIOPinWrite(SOC_GPIO_0_REGS, 111, GPIO_PIN_LOW); //DRDY3 f4 g8 P, G# q
}; R3 ~7 n/ T- ]+ p5 m0 o5 X" c) v+ s( j

% \( h& h& y4 b, G! bint main(void)
: J& o) Y+ p2 B' V$ `# [4 g$ y  T{
" K8 K( m7 E5 M/ F- Q$ L; F        // 外设使能
2 @1 s) b; ^7 j5 j        PSCInit();
* E! ?4 U9 g$ s3 h9 L2 u+ ?( f' O% O$ T# ]2 s
   $ l) @  X7 D" q" B6 R. J' [. `$ _' |
    // 管脚复用配置
. [% v' Z; q- e* Q! U' \3 l/ l' u    GPIOBankPinMuxSet();
7 z1 \9 \( z, X* }7 R) K- C% m    for(;;)5 ~* q, ^& v+ W2 b
        {" Q/ B8 G' c8 K- r( p8 b
                SET_SCLK();//时钟正常输出
7 s. e) W  R3 g8 Z+ o6 A( _                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS28 a- b( h9 E4 n- |/ p6 o' `# a5 L
    GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); // CS3# v6 `0 i, |+ `9 `4 B$ V0 \* B. h
    GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_HIGH); // SDIN/ G$ S1 B* r; ]7 C! Y

( G) @, [7 y# y. X" T0 ~- k. w    delay(20);
  t3 q. o7 b* P5 @' u7 `: ]3 q/ [# |, A                CLR_SCLK();
* x; [5 M3 n6 v9 N' |/ G1 I                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS3
9 q* G6 l9 s' ^' X& z. E" v0 U                GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); // CS3
  s9 p0 B1 [2 P5 U+ h0 S                GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN' o) x( v# ^6 {2 t/ y6 w+ c( S' g
                delay(20);
  {' T- b+ y) J& Y. k        }) R  M0 o3 n; {: C. u& {
}0 O" e. j% Q2 t5 e8 N3 i
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-25 14:26:53 | 只看该作者
这个GPIO的配置是没有问题的,在主函数里并没有使CS2拉低,其他的没有问题的( f1 E3 P: b% r1 Q
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-4-5 22:03 , Processed in 0.037455 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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