打印

怎么修改IO口的控制方式呢?

[复制链接]
3818|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bei_jxing|  楼主 | 2009-10-12 12:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
怎么修改IO口的控制方式,比如将IO口模拟输入通过些寄存器的方式转换成CPU控制方式。在Designer 里的DEVICE EDITOR 可以修改(如下图),我想在程序里动态修改。

editor.jpg (33.57 KB )

editor.jpg
沙发
ni_labview| | 2009-10-12 12:45 | 只看该作者
本帖最后由 ni_labview 于 2009-10-12 12:48 编辑

看如下帖子,注意DM0,DM1,DM2使用即可。
https://bbs.21ic.com/frame.php?frameon=yes&referer=http%3A//bbs.21ic.com/iclist-59.html
或版内搜索主题“CY单片机不能操作GPIO么”即可看到

使用特权

评论回复
板凳
bei_jxing|  楼主 | 2009-10-12 13:50 | 只看该作者
本帖最后由 bei_jxing 于 2009-10-12 13:52 编辑

我不是IO口修改驱动方式,是如下图的红线部分。模拟输入,默认,全局输入,全局输出,和CPU控制。

devitor.jpg (35.07 KB )

devitor.jpg

使用特权

评论回复
地板
jxin| | 2009-10-12 17:03 | 只看该作者
好像没有哪个寄存器与这个有关, 请问你为什么要动态配置这个?

使用特权

评论回复
5
ni_labview| | 2009-10-13 16:53 | 只看该作者
CYPRESS安装目录下Technical Reference Manual.PDF有如下图所示,只要根据要求在代码中把PRTXDM0,PRTXDM1,PRTXDM2赋不同的值即可实现不同的I/O模式。
例如对PORT5某些口改成驱动:
PRT5DM2=XX;
PRT5DM1=XX;
PRT5DM0=XX;

PSOCCONFIGTBL.ASM中也有设置,不妨看看。
但要注意PSOC1有个“影子”寄存器的毛病,一定要注意,搜索论坛内GPIO相关帖子看看

1.JPG (60.35 KB )

1.JPG

使用特权

评论回复
6
bei_jxing|  楼主 | 2009-10-14 23:13 | 只看该作者
第一:
    楼上还是没有明白我的问题,你说的DM0,DM1,DM0,是配置8中驱动方式,我想配置的是: Select 即Std MCU , 全局输出,或全局输出,模拟输入,在P1.5,P1.7还可以选择I2C,SDA和SCL;
第二:
     配置的原因:在一个IO口上实现按键检测和模拟ADC输入两种功能的复用。因为按键需要选择成Std MCU,模拟输入要选择成模拟输入,所以想动态的配置。最终用ADC是实现了两种功能。
第三:
     新问题:
     在软件模拟I2C时,IO口配置成Std MCU, DM0 DM1,DM2=111(Open drain ,driver low). 模拟的时序和手册要求的一致,可是在一个地址写入一个数据后,读出的数据总是0. 我想是不是必须把P1.5 P1.7口 SDA,SCL & DM0 DM1,DM2=111(Open drain ,driver low)?
       模拟I2C的原因是因为P1.5 P1.7与其他功能复用。
     北京的FAE很是傲慢,让我看看手册,配置PRTXGS,我看过了,谁知道怎么配置?
     PRTXGS是禁止或使能IO口的全局输入或输出 见下图。

请各位指教!谢谢!

ERROR P.jpg (121.44 KB )

ERROR P.jpg

使用特权

评论回复
7
Cypress2009| | 2009-10-14 23:45 | 只看该作者
学习了

使用特权

评论回复
8
ni_labview| | 2009-10-15 17:48 | 只看该作者
本帖最后由 ni_labview 于 2009-10-15 17:51 编辑

兄弟,我看明白了,你真是用到家了,哈哈。不好意思,我也没这么玩过,但我可以建议你用一下PSOC DESIGNER下的动态重构技术,就是类似“重新调个芯片结构”。不知你尝试过否,没准儿有用。如下图。变成一个新的芯片再用。另外有如下文档供参考怎么用。我不建议你直接更改I/O的寄存器,有不少副作用,论坛内也曾经大论过此类问题,我也曾因为一个I/O驱动光耦继电器的问题让系统乱了很久,最后用了LED模块解决的问题。

1.JPG (223.48 KB )

1.JPG

2.JPG (163.71 KB )

2.JPG

2007719151153706.pdf

49.41 KB

AN2274(ZH)1.pdf

566.46 KB

使用特权

评论回复
9
20801233| | 2009-10-15 18:06 | 只看该作者
学习了

使用特权

评论回复
10
bei_jxing|  楼主 | 2009-10-15 21:40 | 只看该作者
首先谢谢8楼的热心答复,感觉bj原厂的ae态度很差,我要是知道怎么做问你干嘛,手册看过了,没有找到答案才问他们,以后决心不再发邮件问他们了,有论坛的好兄弟和国外在线支持,我对他们意见很大。
   动态配置之前接触过,不过没有实际的应用,我在试试其他办法。

使用特权

评论回复
11
juventus9554| | 2009-10-15 22:27 | 只看该作者
8l真是热心

使用特权

评论回复
12
Cypress2009| | 2009-10-15 23:42 | 只看该作者
8楼的很牛啊

使用特权

评论回复
13
ni_labview| | 2009-10-16 09:26 | 只看该作者
AE哥哥估计很忙,我在初期使用PSOC时也是大为恼火,当时还没有论坛,现在情况好多了。
包括目前论坛内的USB类型问题还待支持,我也正想办法。哈哈,兄弟如果在北京方便的话来我实验室,我帮你看看到底怎么回事,能帮上忙是好事,不能帮上忙帮你出些馊主意。

使用特权

评论回复
14
bei_jxing|  楼主 | 2009-10-16 13:46 | 只看该作者
可惜俺在西安,不能去你实验室,谢谢你的热心,很是感到,哈哈!
能不能解决问题是一回事,BJ AE有时的态度有问题。

使用特权

评论回复
15
Cypress-lh| | 2009-10-16 23:25 | 只看该作者
LZ研究的很深啊,学习了

使用特权

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

本版积分规则

56

主题

251

帖子

0

粉丝