|
本帖最后由 RAMILE 于 2014-8-22 14:31 编辑
返回值怎么是负数,本来以为和ucos差不多,检测获取事件超时的返回值时候,程序出现异常,单步查看返回值err,结果是-RT_ETIMEOUT
有人知道为什么要用负数??
- //************************ 继电器刷新 ***************************
- //函数定义: void thread_entry_Relay(void* parameter)
- //入口参数:无
- //出口参数:无
- //备 注:Editor:
- //******************************************************************
-
- void thread_entry_Relay(void* parameter)
- {
- static uint16_t RelayDataOld;
- uint32_t temp;
- rt_err_t err;
-
- RELAY_CLR_L(); /*nOE enable*/
- RELAY_ST_L();
- SPI_I2S_SendData(SPI3, 0);
- rt_thread_delay(1) ;
- RELAY_ST_H();
-
- while (1)
- {
- err = rt_event_recv( &event, /* 秒脉冲事件*/
- (1 << FLAGBIT_RELAYFLUSH),
- RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR,
- 500,
- &temp);
-
- if ( err== RT_EOK || err == -RT_ETIMEOUT){
- RELAY_CLR_L(); /*nOE enable*/
- RELAY_ST_L();
- SPI_I2S_SendData(SPI3, G_RELAY );
- rt_thread_delay(1) ;
- RELAY_ST_H();
- }
- }
- }
复制代码 |
|