打印

CY单片机不能操作GPIO么?

[复制链接]
2744|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
菜花香|  楼主 | 2009-4-18 22:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CY单片机不能操作GPIO么?

今天调了好久CY8c27443的GPIO口,直接按照CY的手册例程写的代码,

        PRT2DR =0x0F;
        
        Delay(100);    // 延时1秒

        PRT2DR =0x00;

        Delay(100);    // 延时1秒

结果发现根本不起作用。
沙发
mengyu2008| | 2009-4-19 01:51 | 只看该作者

端口配置

端口驱动配置为Strong

使用特权

评论回复
板凳
菜花香|  楼主 | 2009-4-19 21:30 | 只看该作者

是Strong

端口驱动已经配置为Strong了,
现在用LED模块代替了,还好有这个东西能顶上。

使用特权

评论回复
地板
hewanli| | 2009-4-28 13:36 | 只看该作者

这样的写法当然不行

除了端口驱动配置为STRONG外,语句要采用 PRT2DR |=0x0f; 

使用特权

评论回复
5
ni_labview| | 2009-4-29 11:04 | 只看该作者

用LED模块替代I/O操作试试看,哈哈

使用特权

评论回复
6
cylon| | 2009-5-5 00:45 | 只看该作者

怎样设置GPIO为在输入输出两种状态下切换啊

请问怎样设置cy8c21434的GPIO,才能在输入输出两种状态下自由切换?

使用特权

评论回复
7
ni_labview| | 2009-5-5 09:38 | 只看该作者

如下

请看Technical Reference Manual.pdf中General Purpose IO (GPIO)一章
实际操作只有DM0,DM1,DM2三个寄存器,但要小心“影子寄存器”的影响,在版内搜索有关I/O的帖子细看看

使用特权

评论回复
8
cylon| | 2009-5-5 11:53 | 只看该作者

请教7楼

我是初学者,现在正着急做一个项目,时间比较紧,能不能给我一段相关的程序(比如对P1_1,在不同时刻进行输入输出设置),我应急一下,下来之后我仔细研究相关问题。
我现在是拿来主义,见谅呵。谢谢!

使用特权

评论回复
9
cylon| | 2009-5-8 22:48 | 只看该作者

问题已解决

谢谢,ni_labview,问题已解决!

使用特权

评论回复
10
hewanli| | 2009-5-10 22:55 | 只看该作者

比如对P1_1,在不同时刻进行输入输出设置

cylon 你怎么解决不同时刻输入输出 切换这个问题的?我也遇到了,请教一下

使用特权

评论回复
11
cylon| | 2009-5-11 13:45 | 只看该作者

切换GPIO输入输出的一种尝试

to hewanli:
可以这样试试:
 1. 硬件方面:用电阻(比如47K)将P1_1端口上拉
 2. 软件方面:对端口输入输出的设置需要对4个寄存器进行相应的赋值:PRTxDR,PRTxDM0,PRTxDM1,PRTxDM2.
    (拿P1_1举例)
    1) 输入: 
          PRT1DM0 &= ~0x01;
          PRT1DM1 |= 0x01;
          PRT1DM2 = 0;
          
          Port1_1_status = PRT1DR & 0x01;
    2) 输出: 
          PRT1DM0 |= 0x01;
          PRT1DM1 &= ~0x01;
          PRT1DM2 = 0;
          
          PRT1DR |= 0x01;   // 输出高电平

   这是我当时解决的方法,大家看看有没有其他的解决方法,可以一起分享一下。
        (我看到在hewanli提的帖子里有ni_labview给出的一种方法,我现在没有时间,下来后再拜读一下,谢谢热心的ni_labview)

使用特权

评论回复
12
cylon| | 2009-5-11 13:49 | 只看该作者

将P1_1设置成High-Z模式

补充一下:
在IDE环境中的将P1_1设置成High-Z模式,这点很关键

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

71

帖子

0

粉丝