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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

1

主题

2

帖子

62

积分

注册会员

Rank: 2

积分
62
跳转到指定楼层
楼主
发表于 2015-5-23 19:02:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用下面的例子代码,不能使SIMO和CS为低电平:2 u8 [9 R. ^& J8 t9 m
void PSCInit(void)
0 r3 E3 C+ }" v$ \0 y9 X{
4 |" E0 F5 {5 w2 z        PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
# Z! d, M3 m4 |: I6 B}% t5 ?  E; R  r+ `8 f0 a' c
6 |5 H3 g' d# b* x$ ~
void GPIOBankPinMuxSet(void)+ h  d$ o9 ~4 l7 j8 _1 H
{/ P! U$ P, e, k  w8 b" ]
        // DRDY     ------------ GPIO6[14] -- 1116 c5 f- n* z: \; A' E$ z$ [' b) I; D
        // SPI1_CLK ------------ GPIO2[13] -- 46, z% y# O! R. p1 ?3 V
        // SPI1_SOMI------------ GPIO2[11] -- 44
" H6 y3 j" V. X1 {' t+ |( X7 D        // SPI1_SIMO------------ GPIO2[10] -- 43
6 I8 W# t9 k- c) B: k% S        // SPI1_CS2 ------------ GPIO1[0]  -- 17. Q0 Z: ^' c/ x/ s2 Z1 s/ F
        // SPI1_CS3 ------------ GPIO1[1]  -- 18, g8 j! K- \0 P' m$ F4 i
: V9 k# N  [% u7 c# H
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = (0x88000000);
# Z" E! z' c4 U        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) = (0x00880800);* U) i' [' _) z1 V# B+ v3 m
        HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) = (0x00000080);2 H3 S  ?' J' P1 I. `# |; f5 ]
8 \! U) f- }4 @) W
        //DRDY
! O" @) F) m3 ?6 t! a& U* p        GPIODirModeSet(SOC_GPIO_0_REGS, 111, GPIO_DIR_INPUT);  // GPIO6[7] DRDY
, n) o0 r  S) f+ \$ d" `8 W3 d8 g. \        // CS2,CS3
! Z5 d, T3 ^. h; W        GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT);   // GPIO1[0] CS2# j6 E3 P, p% ]' M7 T2 r" P
        GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT);        // GPIO1[1]        CS3
/ z: g( q! N0 `" p! _/ G; H        //SIMO4 p4 m  F! O+ t. j- \
        GPIODirModeSet(SOC_GPIO_0_REGS, 43, GPIO_DIR_OUTPUT);   // GPIO2[10] SIMO  ~! J6 E2 T) z+ Q5 J
        //SOMI
5 u, i' B6 ]' p( N7 H        GPIODirModeSet(SOC_GPIO_0_REGS, 44, GPIO_DIR_INPUT);    // GPIO2[11] DOMI
( C( O# Q/ U. @3 ]        //CLK
$ |1 ]. G; b& m2 j, D        GPIODirModeSet(SOC_GPIO_0_REGS, 46, GPIO_DIR_OUTPUT);   // GPIO2[13] CLK9 t  a7 t; O4 [

% V' ]- k. m8 O        // LDAC
; T( Q9 k4 i9 u8 T) b; ?7 \        GPIOPinWrite(SOC_GPIO_0_REGS, 46, GPIO_PIN_LOW);  // CLK
5 ^! E6 \. J, U7 t6 q) p        GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN, m- }/ c1 D' j* y! P, [8 F1 U
        GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2& I' |' i7 g7 u$ o
        GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); //CS3; k! d" U: {$ r7 s% z: _' h& |  L3 `8 Y/ I5 B
        GPIOPinWrite(SOC_GPIO_0_REGS, 111, GPIO_PIN_LOW); //DRDY+ `. H; X  |) N/ A: W4 Q) w
}) y! C/ Z  t: s6 {; ^
$ U( u  f- g# J5 D4 d5 w. d$ {
int main(void)
2 b6 G9 ?* v5 Q! U{
& `8 `; g" s2 ], L; j        // 外设使能
) N9 l3 N: r. b1 A8 l8 p        PSCInit();) O$ q+ w: j' q0 M1 u1 k& a) W
3 A8 O. o4 h1 }; H) \6 Q; T
   
) M2 j( l5 f- S    // 管脚复用配置
% Y: n4 I& p' {7 G8 K( l    GPIOBankPinMuxSet();
' R  K' G6 G' o, ]7 _% C2 S    for(;;)/ R$ t- T& f2 \/ ~, |3 }! v" {
        {
+ d  K, z4 V" }, `7 K% A& j6 r                SET_SCLK();//时钟正常输出
$ U: b6 ^, f- y+ R% T. h' A# Q* p+ J; Z                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS2$ o' h( ~3 w9 D4 [& r
    GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); // CS3( e* f& F) I' \# C
    GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_HIGH); // SDIN
1 Y  r0 h- q# i6 P7 b
# ]7 P' f: n; Q/ R    delay(20);; x) h( F! E1 J3 `6 c/ j3 ~% D9 D
                CLR_SCLK();, u7 }3 t! \. K% W- z' a/ \& j+ d
                GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); // CS3
; ?# ^4 q- m2 W% m; t                GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); // CS3
8 r  U# M/ P0 ~; J                GPIOPinWrite(SOC_GPIO_0_REGS, 43, GPIO_PIN_LOW); // SDIN
+ _) P8 n2 `' j+ m8 k& ~. P                delay(20);5 I! d) M, f, l- ]/ y& z' _( o
        }
9 G5 P! S" o' |" w3 P}- c, X) |& m4 ?/ Q* H& z+ r$ C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-25 14:26:53 | 只看该作者
这个GPIO的配置是没有问题的,在主函数里并没有使CS2拉低,其他的没有问题的( _" ^) d, }& K, |) K$ i8 @
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-11 08:27 , Processed in 0.042223 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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