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

[复制链接]
4860|14
 楼主| bei_jxing 发表于 2009-10-12 12:15 | 显示全部楼层 |阅读模式
怎么修改IO口的控制方式,比如将IO口模拟输入通过些寄存器的方式转换成CPU控制方式。在Designer 里的DEVICE EDITOR 可以修改(如下图),我想在程序里动态修改。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
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控制。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
jxin 发表于 2009-10-12 17:03 | 显示全部楼层
好像没有哪个寄存器与这个有关, 请问你为什么要动态配置这个?
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相关帖子看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 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口的全局输入或输出 见下图。

请各位指教!谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
Cypress2009 发表于 2009-10-14 23:45 | 显示全部楼层
学习了
ni_labview 发表于 2009-10-15 17:48 | 显示全部楼层
本帖最后由 ni_labview 于 2009-10-15 17:51 编辑

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
20801233 发表于 2009-10-15 18:06 | 显示全部楼层
学习了
 楼主| bei_jxing 发表于 2009-10-15 21:40 | 显示全部楼层
首先谢谢8楼的热心答复,感觉bj原厂的ae态度很差,我要是知道怎么做问你干嘛,手册看过了,没有找到答案才问他们,以后决心不再发邮件问他们了,有论坛的好兄弟和国外在线支持,我对他们意见很大。
   动态配置之前接触过,不过没有实际的应用,我在试试其他办法。
juventus9554 发表于 2009-10-15 22:27 | 显示全部楼层
8l真是热心
Cypress2009 发表于 2009-10-15 23:42 | 显示全部楼层
8楼的很牛啊
ni_labview 发表于 2009-10-16 09:26 | 显示全部楼层
AE哥哥估计很忙,我在初期使用PSOC时也是大为恼火,当时还没有论坛,现在情况好多了。
包括目前论坛内的USB类型问题还待支持,我也正想办法。哈哈,兄弟如果在北京方便的话来我实验室,我帮你看看到底怎么回事,能帮上忙是好事,不能帮上忙帮你出些馊主意。
 楼主| bei_jxing 发表于 2009-10-16 13:46 | 显示全部楼层
可惜俺在西安,不能去你实验室,谢谢你的热心,很是感到,哈哈!
能不能解决问题是一回事,BJ AE有时的态度有问题。
Cypress-lh 发表于 2009-10-16 23:25 | 显示全部楼层
LZ研究的很深啊,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

251

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部