NONOS_SDK1.3.0 with NONOS_SDK1.5.4

glidz
Posts: 1
Joined: Thu Dec 22, 2016 11:08 am

NONOS_SDK1.3.0 with NONOS_SDK1.5.4

Postby glidz » Fri Dec 23, 2016 1:47 pm

void task1TimerCallbk(){
os_timer_disarm(&task1T);
system_os_post(0,0,0);
os_timer_arm(&task1T,TASK1_DLY_CALL,TRUE);
}

void ICACHE_FLASH_ATTR task1Init(void){
//注册Task1
task1Queue=(os_event_t *)os_malloc(sizeof(os_event_t)*TEST_QUEUE_LEN);
system_os_task(task1,0,task1Queue,TEST_QUEUE_LEN);
//Task1 轮询定时器
os_timer_disarm(&task1T);
os_timer_setfn(&task1T,task1TimerCallbk,NULL);
os_timer_arm(&task1T,TASK1_DLY_CALL,1);
//task1 数据初始化
Task1Data.ledType=0;
Task1Data.ledSta=0;
Task1Data.ledDly=NO_AP_FREQ;
Task1Data.resetKeySta=RESET_KEY_UP; //0 抬起, 1 按下
Task1Data.resetKeyCnt=RESTET_KEY_DLY; //复位按键持续5秒有效
//LED指示灯IO初始化 GPIO12
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12);
//复位按键IO初始化 GPIO13
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13);
}

这段代码在NONS-SDK 1.3.0版本,和NONOS-SDK 1.5.4版本中,编译通过,但是在1.3.0的版本可以正常的唤醒任务Task1,在1.5.4版本中不能够正确的唤醒Task1.
SDK 1.3.0烧入地址:
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x40000 大小167K
SDk 1.5.4烧入地址
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x10000 大小192K
问题1:
SDK1.5.4版本们看不到任何串口的输出信息,(Task1任务就是通过uart0输出提示信息)
SDK1.3.0 版本可以看到串口按设计要求输出了提示信息
问题2:
SDK1.3.0版本,os_timer_arm()定时的定时时间精度不像是毫秒级,程序的定时间隔时间200ms左右,远不是5毫秒。
问题3:
os_timer_arm()第三个参数,不管是0,还是1,都不能自动重复启动定时工作。
不知道在群里讨论的有没有谁遇到过这个问题。

Who is online

Users browsing this forum: No registered users and 60 guests