管脚驱动问题

[复制链接]
1594|10
 楼主| gongche 发表于 2012-10-5 18:22 | 显示全部楼层 |阅读模式
CY8C24794
请问如何在程序中动态改变某个管脚的驱动,比如从高阻态和驱动到低之间来回切换?
huanghuac 发表于 2012-10-5 18:24 | 显示全部楼层
你是怎么做的呢
 楼主| gongche 发表于 2012-10-5 18:26 | 显示全部楼层
哦,这是我的做法,不知为何不能实现?
void set_Resistive_pull_down(void)
{
   //this address range in Bank 0
CPU_F_Temp=CPU_F;
M8C_SetBank0;
PRT0DM0|=1<<7;
  PRT0DM1&=~(1<<7);
//this address range in Bank 1
M8C_SetBank1;
  PRT0DM2&=~(1<<7);
CPU_F=CPU_F_Temp;
PRT0DR&=~(1<<7);
}
void set_High_impedance_analog(void)
{
  //this address range in Bank 0
CPU_F_Temp=CPU_F;
M8C_SetBank0;
PRT0DM0&=~(1<<7);
  PRT0DM1|=1<<7;
//this address range in Bank 1
M8C_SetBank1;
  PRT0DM2|=1<<7;
CPU_F=CPU_F_Temp;
}

//main program
main()
{
     while(1)
{
     set_Resistive_pull_down;
    Delay(10);
    set_High_impedance_analog;
    Delay(10);
}
}
冰清玉洁 发表于 2012-10-5 18:28 | 显示全部楼层
你可以参考一下这个应用笔记
PSOC GPIO的使用 https://bbs.21ic.com/viewthread.php?tid=253714
wenfen 发表于 2012-10-5 18:29 | 显示全部楼层
AN2094 讲了 M8C_SetBank0; 在C 中就不需要了
 楼主| gongche 发表于 2012-10-5 18:31 | 显示全部楼层
谢谢分享的笔记,问题已解决,非常感谢!
 楼主| gongche 发表于 2012-10-5 18:31 | 显示全部楼层
那就结贴了,国庆快乐哈
meishizhaoshi 发表于 2012-10-5 19:43 | 显示全部楼层
看了下你的做法也很参考价值
Go_PSoC 发表于 2012-10-5 20:59 | 显示全部楼层
节日还在忙,楼主辛苦了
wangjinlili 发表于 2012-10-5 21:37 | 显示全部楼层
怎么解决的啊
teabottle 发表于 2012-10-5 21:42 | 显示全部楼层
请问楼主你的做法亲身实践过了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

768

主题

9410

帖子

2

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