网站公告列表     本站开通全国范围代收货款业务,详情请点击  [dycxin  2008年5月14日]        
加入收藏
设为首页
联系站长
您现在的位置: EDA加油站 >> PSOC >> PSOC入门学堂 >> 正文
  [推荐]PSOC之GPIO应用         ★★★ 【字体:
PSOC之GPIO应用
PSOC之GPIO应用
作者:未知    POSC专栏来源:网络    点击数:    更新时间:2008-2-10    
GPIO包括输入的缓存, 输出驱动, 寄存器存储单元,这些IO 用来连接PSOC 内部的 设备器件和外面的电路. 每个PORT 有8位, 有唯一的地址.      IO 口包括 :数字IO ; 模拟IO ; 以及全局的IO.      并且每一个IO     PIN 都有8中 Drive Model,    无论什么时候你都可以任意的更改,意思是在程序的执行过程中可以被更改. 但是每中驱动模式都是对应的某中特定的功能的, 呵呵.    其实不想说寄存器的 ,但是GPIO 的寄存器比较常用,不得不说了啊 . PRTxDR,PRTxIE,PRTxGS,PRTxDMx. 第一个是用来存储IO 口进来信号,第二个是中断允许寄存器,第三个, 啊    比较难说, 在PSOC 内部有全局总线, 这个寄存器就是用来连接端口和这些总线的寄存器.最后一个是驱动模式寄存器 事实上他有三个,简单的想下就知道了,每一个PORT 有8个PIN刚好有8中不同的驱动方式,正好由三位的排列组合8中不同的方式。

     The global IO feature of each GPIO (port pin) is off by default. To access the feature, two parameters must be changed. To configure a GPIO as a global input, the port global select bit must be set to disconnects the output of the PRTxDR register from the pin.for the desired GPIO uthe Drive mode for the GPIO must be set to the digital High-Z state.To configure a GPIO as a
global output, the port global select bit must again be set. But in this case, the drive state must be set to any of the non-High-Z states. 这段话可能应该引起我们的注意,IO口做为全局使用的功能在默认的状态下是OFF的 也就是说 这个IO口要是被M8C 使用就不能被PSOC里面的其他的DEVICE 使用.要是想叫一个IO 口作为全局IO 输入(呵呵是输入)话 , 有两件事要做    第一 就是 把他和全局的总线连接起来, 然后在把的 DRIVE MODEL 改写成    High-Z state.全局IO 做输出使用的话DRIVE MODEL 相应的改写成 non-High-Z states. 看起来好像比较麻烦    其实 很容易的.~~

Drive Modes               IO的8中驱动方式  
DM2DM1 DM0

0           0        0               Resistive Pull Down 0 Resistive Strong
0           0        1               Strong Drive 1 Strong Strong
0           1        0               High ImpEDAnce 2 Hi-Z Hi-Z
0           1        1               Resistive Pull Up 3 Strong Resistive
1           0        0               Open Drain, Drives High 4 Hi-Z Strong
1           0        1               Slow Strong Drive 5 Strong (Slow) Strong
1           1        0               High ImpEDAnce Analog 6 Hi-Z Hi-Z
1           1        1              Open Drain, Drives Low 7 Strong (Slow) Hi-Z

如果你有 PSOC psoc designer 的话 你能在 USER MODEL 里面 很清晰的看见这些内容

GPIO 还有一个十分强大中断功能,他包括上升沿,下降沿,以及沿的变化,三种触发中断的方式.但是他似乎也不是十全十美的 ,因为所有口的 中断 都连接到一个中断地址这样当你有不只一个IO产生不同功能的中断的时候    你需要判断 到底是那个IO 产生的中断, 说实话 感觉不是一件容易的事情. 呵呵.

使用IO 中断的话 可以按照下面的步骤操作:

1: 设置中断模式                 

2:允许GPIO 中断

3:允许GPIO 中断被挂起

4:打开全局中断

下次侃侃    模拟输出 驱动 P103 OF TRM

POSC专栏录入:dycxin    责任编辑:dycxin 
  • 上一个POSC专栏:

  • 下一个POSC专栏:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    基于PSoC的车用单片机试验装…
    怎样快速从51或Z80转到PSOC?
    赛普拉斯CapSenseTM解决方案…
    PSoC在LG“巧克力”手机中的…
    谈谈使用CYPRESS PSOC的一些…
    复杂SoC设计中的功率管理 (下…
    复杂SoC设计中的功率管理 (上…
    PSoC Express再升级提供更大…
    可编程系统芯片的设计构架
    用PSoC Express实施透明无代…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    EDA加油站|我要EDA网|山东电子网--东营市荣燕商贸有限公司版权所有! 站长:阿荣
    联系电话:0546-7870320,13371507828 电邮:51edacn@163.com
    山东东营西城济南路百祥电脑商城B302室 邮编:257000 鲁ICP备07018763号  鲁ICP备07000091号 鲁ICP备05003434号
    公司帐号:1615011209000037682 户名:东营市荣燕商贸有限公司 开户行:工行西城支行石油大学分理处