打印
[寄存器]

GPIO设置问题

[复制链接]
1676|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
李召昭|  楼主 | 2013-11-24 23:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
“置位寄存器GPxSET是一个只写寄存器,读为0。如果对应的引脚配置为输出,则向置位寄存器的该位写1,将对应引脚的电平拉高,写0则无效”
这句话是说,如果GPxSET写入1的话,那么引脚将输出1即高电平,这就是个置位操作,我可以这么理解吗?进入中断后我要在判断ncount与60的大小,重新定义输出,然而红色部分代码不大明白,难道进入中断后要重新对引脚置位?
interrupt void cpu_timer0_isr(void)
{  
   CpuTimer0.InterruptCount++;

   // Acknowledge this interrupt to receive more interrupts from group 1
   PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
   CpuTimer0Regs.TCR.bit.TIF = 1;//清除中断标识位
   CpuTimer0Regs.TCR.bit.TRB = 1;//重新装载计数初值
   GpioDataRegs.GPBSET.bit.GPIO52=1;//
   GpioDataRegs.GPBDAT.bit.GPIO52=( nCount1<60 )?1:0;//52口输出值
   nCount1++;
   if (nCount1==100)
   {f++;}
   nCount1%=100;
  
   
}

相关帖子

沙发
李召昭|  楼主 | 2013-11-24 23:52 | 只看该作者
求指导

使用特权

评论回复
板凳
zhangmangui| | 2013-11-25 09:17 | 只看该作者
GPxSET是置位的意思  也就是将对应的寄存器置位为1
与之对应有个清除寄存器  也就是清零
那就是在判断条件是否成立之前将IO先置位  也就是默认在条件判断之前
都是nCount1是小于60的

使用特权

评论回复
地板
李召昭|  楼主 | 2013-11-25 09:56 | 只看该作者
感谢版主!
还有一个问题想请教。现在在编一个PWM控制直流电机的程序,这里中断计时器计数0x3000后进入中断,中断程序中Nount1计数100次后f+1,f计满122正好是1s,此时会改变pwm占空比。这里我不大懂的事,进入中断后,为什么需要这句置位操作呢?在判断ncount1之前,让它保持原来的状态不行吗?

使用特权

评论回复
5
李召昭|  楼主 | 2013-11-25 09:57 | 只看该作者
zhangmangui 发表于 2013-11-25 09:17
GPxSET是置位的意思  也就是将对应的寄存器置位为1
与之对应有个清除寄存器  也就是清零
那就是在判断条件 ...

感谢版主!
还有一个问题想请教。现在在编一个PWM控制直流电机的程序,这里中断计时器计数0x3000后进入中断,中断程序中Nount1计数100次后f+1,f计满122正好是1s,此时会改变pwm占空比。这里我不大懂的事,进入中断后,为什么需要这句置位操作呢?在判断ncount1之前,让它保持原来的状态不行吗?

使用特权

评论回复
6
zhangmangui| | 2013-11-25 13:12 | 只看该作者
李召昭 发表于 2013-11-25 09:57
感谢版主!
还有一个问题想请教。现在在编一个PWM控制直流电机的程序,这里中断计时器计数0x3000后进入中 ...

GPIO的状态如果你不去改变肯定是保持原来状态的  可能只是对第一次有用
PWM输出你可以用响应的事件管理器  你用的是哪款DSP?

使用特权

评论回复
7
李召昭|  楼主 | 2013-11-25 15:00 | 只看该作者
TMS28335。是吧,这句应该在初始化操作里吧。在这里的话,每次进中断都会有一次置位,在PWM波低电平时会出现毛刺,实验测得的结果是这样,现在在分析为什么有毛刺。我觉得是这里的原因。这个程序是现成的例程,不是自己写的。有待回去实验验证。

使用特权

评论回复
8
zhangmangui| | 2013-11-25 18:16 | 只看该作者
李召昭 发表于 2013-11-25 15:00
TMS28335。是吧,这句应该在初始化操作里吧。在这里的话,每次进中断都会有一次置位,在PWM波低电平时会出 ...

28335的事件管理器是很强大的  必须好好利用起来
在运动控制  电源产品   逆变等里面

使用特权

评论回复
9
李召昭|  楼主 | 2013-11-26 09:46 | 只看该作者
嗯,感谢版主。正在学习中。

使用特权

评论回复
10
李召昭|  楼主 | 2013-11-26 09:47 | 只看该作者
zhangmangui 发表于 2013-11-25 18:16
28335的事件管理器是很强大的  必须好好利用起来
在运动控制  电源产品   逆变等里面 ...

嗯,感谢版主。正在学习中。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

8

帖子

0

粉丝