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,都不能自动重复启动定时工作。
不知道在群里讨论的有没有谁遇到过这个问题。
NONOS_SDK1.3.0 with NONOS_SDK1.5.4
Who is online
Users browsing this forum: No registered users and 60 guests
Login
Newbies Start Here
Are you new to ESP8266?
Unsure what to do?
Dunno where to start?
Start right here!
Latest SDK
Documentation
Complete listing of the official ESP8266 related documentation release by ESPRESSIF!
Must read here!
- All times are UTC+08:00
- Top
- Delete all board cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. We are the manufacturer of ESP8266EX.