微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 各位大神好,为什么我的osal_getClock( )不更新时间?

各位大神好,为什么我的osal_getClock( )不更新时间?

时间:10-02 整理:3721RD 点击:

代码如下,uart用作debug,结果每次 aaaaa 后面的内容更bbbbb后面的内容都一样,ccccc后面就是 0,

static void zclSampleLight_HandleKeys( byte shift, byte keys )
{

uint32 =0;
keyPressStart = osal_getClock( );
HalUARTWrite(0,"aaaaa",5);
HalUARTWrite(0,(uint8 *)&keyPressStart,4);
uint32 keyTime = 0;
while(keys == HalKeyRead() )
{
osalTimeUpdate();
uint32 time2 = osal_getClock( );
keyTime = time2 - keyPressStart;

HalUARTWrite(0,"bbbbb",5);
HalUARTWrite(0,(uint8 *)&time2,4);
HalUARTWrite(0,"ccccc",5);
HalUARTWrite(0,(uint8 *)&keyTime,4);
if(keyTime >=ST_SYS_RESET_DELAY)
{
break;
}

}

还有一个奇怪的现象,我的手松开 aaaaa bbbbb  ccccc  才打印 按理说当我进入中断的时候就会打印aaaaa,当我松手后才打印 bbbbb 和ccccc的啊,求解答,

我的方法参考了http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/79095.aspx,这个帖子,但是我认为这个帖子里直接对keys进行判断来判断按键是否按下不妥,原因是这个keys的值是函数传进来的,而不代表按键真实的状态,所以我加了read来获取真实的按键状态,当然如果我的理解不对还请指正.

已经解决了,是能够获取时间了!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top