搜索
bottom↓
回复: 7

请教一个GPIO的问题?希望高手能给予解答,谢谢 【恢复】

[复制链接]

出0入0汤圆

发表于 2009-1-14 10:23:52 | 显示全部楼层 |阅读模式
我现在正在使用CY7C63813,用的是PSOC 4.4,想让它完成一个最基本的功能,就是驱动一个外部引脚P1.4 的 LED,程序应该很简单,可我捣鼓了半天还是不成,很是疑惑,程序如下:

//----------------------------------------------------------------------------

// C main line

//----------------------------------------------------------------------------



#include <m8c.h>        // part specific constants and macros

#include "PSoCAPI.h"    // PSoC API definitions for all User Modules



BYTE i;

BYTE PRT1DR_BUFF;

void main()

{    

    CPUCLKCR |=0X01;  //使用外部12M时钟

    OSC_CR0 |=0X03;   //选择时钟分频:1

    P14CR &= 0XEF;   // P14设成输出

    M8C_EnableGInt;      //  and Global Interrupts

   

    while(1)

    {

     for(i=0;i<100;i++)

     PRT1DR_BUFF &= ~(0x10);

     PRT1DR = PRT1DR_BUFF;

     }

   

    // Insert your main routine code here.

}



下载器我用的是Xeltek的SUPERPRO/3000U,直接把PSOC生成的hex文件下载到芯片,下载正常,但是单片价不工作,很是郁闷,硬件连接图如附件所示:



 (原文件名:63813.JPG) 

出0入0汤圆

发表于 2009-1-14 21:35:58 | 显示全部楼层
你还是先找点最基本的入门资料对照着,STEP BY STEP吧,CY站上有,如何开始使用designer。



在designer中建立工程,选择器件后,就应该配置了,如:加入要用的用户模块,配置系统时钟、I/O、引脚内部连接等。不是要你编程,是点鼠标,你点完了,designer帮你生成代码。



不知道你自己独立玩过其它的什么东西吗。如果是正规学校培养的,那比较麻烦。因为目前我们学校的应试教育方法根本不适应培养电子技术方面的工程师。

出0入0汤圆

 楼主| 发表于 2009-1-14 16:42:45 | 显示全部楼层
谢谢马老师解答,‘简单一点的话(在使用中不改变I/O的工作方式),直接就在器件配置时直接将I/O脚P1.4配置成强输出方式,不用在程序中配置。’这个器件配置是在哪个文件中设置呢?这个是我疑惑的地方

出0入0汤圆

发表于 2009-1-14 16:32:57 | 显示全部楼层
P14CR &= 0XEF;   // P14设成输出



这里好象有问题。你看一下器件手册。根据我使用其它的PSoC器件,I/O的工作方式是通过3个寄存器控制的。



简单一点的话(在使用中不改变I/O的工作方式),直接就在器件配置时直接将I/O脚P1.4配置成强输出方式,不用在程序中配置。



具体配置寄存器请看上面帖子:“关于PSoC GPIO的应用讨论___问题不是这样的简单,已经发到CYPRESS请求帮助,结果和总结在16、21、22、28楼”

出0入0汤圆

 楼主| 发表于 2009-1-14 14:59:54 | 显示全部楼层
谢谢马老师解答,LED如果亮也好了,LED一直不亮,我量了一下P1.4脚的电压,是4V左右,把LED去掉就是1.2V,好像程序根本就没有运行似的,所以很奇怪,以前我用AVR的时候,对I\O操作也就是设置输出、出入方向,然后再让它输出0或者1,不知道这个还有什么特殊要求?

出0入0汤圆

发表于 2009-1-14 12:52:11 | 显示全部楼层
我的建议是:没有比较好玩8位MCU的基础,是玩不了PSoC的。



其它原因先不说,就你下面的代码:



 while(1) 

{ 

     for(i=0;i<100;i++) 

     PRT1DR_BUFF &= ~(0x10); 

     PRT1DR = PRT1DR_BUFF; 

}



在12M的时钟下,如果LED闪烁,你能看出来吗?你看到的LED总是亮的。 

出0入0汤圆

发表于 2009-4-11 09:58:32 | 显示全部楼层
很多时候,Technical Reference Manual和Application Notes就是你最好的老师,开始玩的时候读读文档是必须的。
PSOCConfigTBL.asm文件就包含“点鼠标”后的芯片配置参数。


Technical Reference Manual (原文件名:GPIO drive mode.JPG)

出0入0汤圆

发表于 2010-7-19 19:24:16 | 显示全部楼层
真是乱去了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 16:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表