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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

62

积分

注册会员

Rank: 2

积分
62
跳转到指定楼层
楼主
发表于 2015-5-23 19:02:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用下面的例子代码,不能使SIMO和CS为低电平:
% B+ |; I% i1 o$ R* D: B9 D; wvoid PSCInit(void)
6 X" L) H1 N3 w# k{5 V" ?% P0 ]" U' r: ~
        PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);0 K" E" b, f8 I& ]' v5 Y- z7 G! u. f
}& w( i  N" ]/ K  u" e% o0 R& a
# [0 T4 p1 e% N( L3 x- n4 v( a2 a
void GPIOBankPinMuxSet(void); C# b; Z! Y: }! G8 D
{
, ~, G6 l; A- a/ v6 t        // DRDY     ------------ GPIO6[14] -- 111" k" S7 \: a' [7 m0 @7 q
        // SPI1_CLK ------------ GPIO2[13] -- 46: N/ B+ h% N, J$ h8 N( j
        // SPI1_SOMI------------ GPIO2[11] -- 44
% G4 w! b! z- S% D* j        // SPI1_SIMO------------ GPIO2[10] -- 433 o  t/ q$ }6 F. e( W* I( V+ y
        // SPI1_CS2 ------------ GPIO1[0]  -- 17
9 w4 u7 S9 }7 i' z+ I5 H4 D# h& _6 ~        // SPI1_CS3 ------------ GPIO1[1]  -- 18  Q" m% m% w& V% i2 w

& y" U# L& z1 j0 e        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = (0x88000000);" Y3 w9 z3 x! j: l- r- k
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) = (0x00880800);( e$ u; j6 s: {5 q$ C! P9 _
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x00000080);
: B: \( o- T! b( M6 r- N8 f  C3 f' h% t
/ \% ]% [6 @0 b( y1 \, G% L, u' P% ?0 {        //DRDY
$ ~' h( ~8 m# f, R        GPIODirModeSet(SOC_GPIO_0_REGS, 111, GPIO_DIR_INPUT);  // GPIO6[7] DRDY, H  s: ?( |2 t3 J" h: y
        // CS2,CS3
4 o- V7 {/ b' p: u        GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT);   // GPIO1[0] CS2+ B, ?2 r6 k, ?, M$ O
        GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT);        // GPIO1[1]        CS3; G  y4 z  z  T* Y( v# |
        //SIMO
! W" R% B+ N1 |$ X8 u9 E: \- e! J        GPIODirModeSet(SOC_GPIO_0_REGS, 43, GPIO_DIR_OUTPUT);   // GPIO2[10] SIMO
$ u3 O& c4 [) I+ O2 N        //SOMI+ E, f7 Z  k( `4 ?7 g
        GPIODirModeSet(SOC_GPIO_0_REGS, 44, GPIO_DIR_INPUT);    // GPIO2[11] DOMI( g: v: v- i# j. W  \+ r
        //CLK
3 s. i# V* Y# A, U8 |        GPIODirModeSet(SOC_GPIO_0_REGS, 46, GPIO_DIR_OUTPUT);   // GPIO2[13] CLK4 i* Q, K" s2 k: J7 W7 Q3 f

' E/ [, d) c5 Z/ {7 ]% i! E1 Y        // LDAC
5 Q  I* E4 x7 B+ ?9 v- h  |8 v0 g/ e        GPIOPinWrite(SOC_GPIO_0_REGS, 46, GPIO_PIN_LOW);  // CLK
# V% G; a' W: `  }- y3 C: X( l7 S$ M        GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
  t! @( W9 P( ^- n- j* B7 C) e" Z" h        GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS24 P! |: J( w$ M6 j5 v, }
        GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); //CS3
& Q) l8 n! t' u  y2 V. ~8 V9 i1 Z        GPIOPinWrite(SOC_GPIO_0_REGS, 111, GPIO_PIN_LOW); //DRDY
: |% s& J  L3 ^6 f8 Y0 X}$ {3 F% z, M: v1 ~) }% M6 k

% l; D& P2 f" F7 _2 ~/ xint main(void)
, t2 J: ~. G$ g0 _9 R{
: x% {+ l4 {9 f; b6 U9 |0 x        // 外设使能
5 b8 [2 }  ~! k1 s$ J1 f- o        PSCInit();; w  `  U0 Z$ m0 R) }% z
6 [# `3 W$ S& n. a! A9 n
   : C: V: ~; W# W7 b$ B
    // 管脚复用配置2 u. L4 v. d6 ~$ o
    GPIOBankPinMuxSet();
' R2 r# L# N5 ~" g4 G5 ?2 |    for(;;)
( d+ @1 q# ?, c' J1 l        {: M* j1 v( ]' E
                SET_SCLK();//时钟正常输出+ j+ f* U/ T8 y* R
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2. b. a( A% T- ~0 M- H! \
    GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); // CS3; `! H3 ^* m$ d, x2 n7 |
    GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_HIGH); // SDIN
% h# x! T* [- N' @+ `$ i" r5 K3 c" F
$ _( ]9 p* H. f1 z! \- v    delay(20);
$ U* j/ p5 u  f. I                CLR_SCLK();
. g' ]# `/ D1 w0 M+ Y" n4 s- i                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS32 S& T* j( t* ?  y1 g" W1 A
                GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); // CS3  Y2 B8 G# H- Y
                GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
: \4 O1 ~( G* ?$ r: i                delay(20);
4 P: n& [0 V$ W  \+ K$ v/ ?        }
- U7 `$ V7 n5 j, n$ o}
+ r# t; v8 r9 b& `9 ~2 S( n
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-25 14:26:53 | 只看该作者
这个GPIO的配置是没有问题的,在主函数里并没有使CS2拉低,其他的没有问题的: R& W# d8 a( E+ _& l' k$ ]
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-13 18:00 , Processed in 0.035385 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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