[DSP编程] 28335IO口的问题

[复制链接]
3746|12
 楼主| wangch_sh 发表于 2013-12-22 19:43 | 显示全部楼层 |阅读模式
我用28335IO口驱动LED灯,代码如下:
while (1)
  {
   GpioDataRegs.GPBDAT.bit.GPIO58=0;
  GpioDataRegs.GPBDAT.bit.GPIO59=0;
delay(10);
GpioDataRegs.GPBDAT.bit.GPIO58=1;
   GpioDataRegs.GPBDAT.bit.GPIO59=1;
delay(10);
仿真时,运行到第二个delay(10),GPIO58为0,GPIO59为1.
while (1)
  {
   GpioDataRegs.GPBDAT.bit.GPIO58=0;
delay(1);
GpioDataRegs.GPBDAT.bit.GPIO59=0;
delay(10);
GpioDataRegs.GPBDAT.bit.GPIO58=1;
  delay(1);
GpioDataRegs.GPBDAT.bit.GPIO59=1;
delay(10);
照上面改过之后,就好了。
这是什么原因?请高手指教,谢谢!
 楼主| wangch_sh 发表于 2013-12-22 20:34 | 显示全部楼层
后来测试其他几个腿,发现有些腿置1时不受控,有的置1时为1,有的为0.
清零时没问题。
zhangmangui 发表于 2013-12-22 21:15 | 显示全部楼层
这就奇怪了   不加延时肯定是能够切换的
确保GPIO非特殊功能模式
你在找找问题
 楼主| wangch_sh 发表于 2013-12-22 21:57 | 显示全部楼层
TLZme 发表于 2013-12-23 08:54 | 显示全部楼层
操作28335的IO口DAT寄存器要加延时
 楼主| wangch_sh 发表于 2013-12-23 09:36 | 显示全部楼层
谢谢!
zhangmangui 发表于 2013-12-23 09:52 | 显示全部楼层
TLZme 发表于 2013-12-23 08:54
操作28335的IO口DAT寄存器要加延时

必须要加延时啊?SET寄存器需要加延时不?
TLZme 发表于 2013-12-23 10:14 | 显示全部楼层
zhangmangui 发表于 2013-12-23 09:52
必须要加延时啊?SET寄存器需要加延时不?

SET不用加
zhangmangui 发表于 2013-12-23 10:39 | 显示全部楼层
TLZme 发表于 2013-12-23 10:14
SET不用加

没想明白  为什么要加延时?
TLZme 发表于 2013-12-23 10:58 | 显示全部楼层
zhangmangui 发表于 2013-12-23 10:39
没想明白  为什么要加延时?

这点我也没太明白,就是调试中发现的,不加延时的话只能执行最后一句。你用的是哪款DSP?不妨试一下,研究一下
zhangmangui 发表于 2013-12-23 12:03 | 显示全部楼层
TLZme 发表于 2013-12-23 10:58
这点我也没太明白,就是调试中发现的,不加延时的话只能执行最后一句。你用的是哪款DSP?不妨试一下,研 ...

现在不用2000了  下来看看
kingzlt 发表于 2013-12-25 08:45 | 显示全部楼层
此问题在2803系列上遇到过,在2812和28335上暂没发现
zhangmangui 发表于 2013-12-25 09:26 | 显示全部楼层
kingzlt 发表于 2013-12-25 08:45
此问题在2803系列上遇到过,在2812和28335上暂没发现

2812上是不存在这个问题的   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

318

主题

2817

帖子

5

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