搜索
bottom↓
回复: 2

求助 困扰很长时间了

[复制链接]

出0入0汤圆

发表于 2012-8-23 15:54:29 | 显示全部楼层 |阅读模式
本帖最后由 tarafans 于 2012-8-23 15:56 编辑

我用的是28335 想用IO做普通IO 来点亮LED灯 我先配置IO 如下   
GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 0; // GPIO8 = GPIO8
   GpioCtrlRegs.GPADIR.bit.GPIO8 = 1;
   GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 0; // GPIO9 = GPIO9
   GpioCtrlRegs.GPADIR.bit.GPIO9 = 1;
   GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 0; // GPIO10 = GPIO10
   GpioCtrlRegs.GPADIR.bit.GPIO10 = 1;
   GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 0; // GPIO11 = GPIO11
   GpioCtrlRegs.GPADIR.bit.GPIO11 = 1;  
接着定义
#define          LED1        GpioDataRegs.GPADAT.bit.GPIO8
#define          LED2        GpioDataRegs.GPADAT.bit.GPIO9
#define          LED3        GpioDataRegs.GPADAT.bit.GPIO10
#define          LED4        GpioDataRegs.GPADAT.bit.GPIO11

我在MAIN里这样写 LED1=1;LED2=1;LED3=1;LED4=1; 结果LED1 和LED3点不亮LED2和LED4亮  但是如果我这样写
      LED1=1;
   DELAY_US(10);
      LED2=1;
   DELAY_US(10);
      LED3=1;
   DELAY_US(10);
      LED4=1;
    DELAY_US(10); 就全部亮了 不知为什么希望大家帮忙

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2012-8-27 23:06:18 | 显示全部楼层
仔细看看“System Control and Interrupt”这部分datashee。TI C2000 DSP的GPIO操作有个可以视为bug的问题,在使用DAT寄存器进行操作时,相邻的GPIO之间不能连续位操作,否则会导致操作无效。
如果你的代码中确实需要这样的操作,可以使用SET和CLEAR寄存器来做。

出0入0汤圆

发表于 2012-9-6 13:25:32 | 显示全部楼层
肯定全亮的 你只是让LED=1了,在下一个LED=1之前请先关掉掉两外三个
如:LED2 = 0; LED3 = 0; LED4 = 0; 然后打开LED1 =1;   每次操作都要弄下其他3个IO口就可以了!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 00:30

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

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