回复 沙发 ml0943 的帖子
有DEMO 程序 官方的
也可以用HALCoGen生成,配的时候在HET的页面里面配Edge功能即可,可以选上升沿、下降沿或都有效。
初始化完成后,直接调用edgeGetCounter(hetRAMBASE_t * hetRAM, uint32_t edge)这个接口,这个接口的返回值就是当前的事件计数值,如:
count = edgeGetCounter(hetRAM1, edge0);
回复 4楼 renton 的帖子
这个是不是还要设置 edge interrupt ?
我使用的是rti定时器100ms,在rti中断函数中 count0= edgeGetCounter(hetRAM1,edge0);在main函数中。
while(1)
{
if(count0!=0)
{
edgeResetCounter(hetRAM1,edge0);
if(flag0==0)
{
LED3_ON();
}
else
{
LED3_OFF();
}
flag0 = 1 - flag0;
count0=0;
}
}
程序编译通过,,没有错误,但是烧录到板子后,LED灯都没有闪亮。
[ 本帖最后由 ml0943 于 2013-1-10 21:51 编辑 ]
flag0是怎么赋值的呢?
使用edge相关的接口之前一定要先调用hetInit();这个动作应该有吧?
Edge0引脚上的信号是否正常?如果你是想对内部的PWM进行计数的话,那么PWM的pin的状态要设置成输出才行。
Edge的中断不用打开,Edge功能是用ECNT指令实现的,设置好要检测的边沿后(在hetInit中)就立即开始生效了。
你再检查检查?
[ 本帖最后由 renton 于 2013-1-11 09:24 编辑 ]