예제 #1
0
파일: main.c 프로젝트: zhouglu/K60F120M
static void event(void)
{
#if MQX_USE_EVENTS
   IF_TINIEST(pointer  handle=0);
   IF_TINIEST(_mqx_uint value=0);

   IF_SMALL(_event_create_component(1, 1, 1));
   IF_SMALL(_event_create_fast(1));
   IF_SMALL(_event_create_fast_auto_clear(1));
   IF_SMALL(_event_open("e", &handle));
   IF_SMALL(_event_set(handle, 0));
   IF_SMALL(_event_clear(handle, 0));
   IF_SMALL(_event_wait_all(handle, 0, 0));

   IF_TYPICAL(_event_close(handle));
   IF_TYPICAL(_event_create("e"));
   IF_MAX(_event_create_auto_clear("e"));
   IF_TYPICAL(_event_destroy("e"));
   IF_MAX(_event_destroy_fast(1));
   IF_MAX(_event_get_value(handle, &value));
   IF_MAX(_event_get_wait_count(handle));
   IF_MAX(_event_open_fast(1, &handle));
   IF_MAX(_event_test(&handle));
   IF_MAX(_event_wait_all_for(handle, 0, NULL));
   IF_TYPICAL(_event_wait_all_ticks(handle, 0, 0));
   IF_MAX(_event_wait_all_until(handle, 0, NULL));
   IF_MAX(_event_wait_any(handle, 0, 0));
   IF_MAX(_event_wait_any_for(handle, 0, NULL));
   IF_TYPICAL(_event_wait_any_ticks(handle, 0, 0));
   IF_MAX(_event_wait_any_until(handle, 0, NULL));
#endif

}
예제 #2
0
/*  pin2 int callback function */
void int_callback(void) 
{
  pointer ppin2_event;
  _event_open("pin2_event",&ppin2_event);
  _event_set(ppin2_event,0x04);
  
  printf("Switch2 is pressed(int mode)!\n");
}
예제 #3
0
void simulated_ISR_task 
   (
      uint32_t initial_data
   )
{
   void   *event_ptr;

   /* open event connection */
   if (_event_open("event.global",&event_ptr) != MQX_OK)  {
      printf("\nOpen Event failed");
      _task_block();
   }

   while (TRUE) {
      _time_delay_ticks(200);
      if (_event_set(event_ptr,0x01) != MQX_OK) {
         printf("\nSet Event failed");
         _task_block();
      }
   }
}
예제 #4
0
/*******************************************************************************
** Function Name	:uart_isr
** Input		:
** Return		:
** Author		:wk
** Version	:
** Date		:
** Dessription	:
** Reverse	:
*******************************************************************************/
void uart_isr(pointer parameter)
{
#if 1   // wk -->  在有些工程中没有定义read_buf[]和LCDTouchSel()  --> 0 else --> 1
  /* Body */
   IO_SERIAL_INT_DEVICE_STRUCT_PTR        int_io_dev_ptr = parameter;
   KUART_INFO_STRUCT_PTR                  sci_info_ptr = int_io_dev_ptr->DEV_INFO_PTR;
   UART_MemMapPtr                         sci_ptr = sci_info_ptr->SCI_PTR;
   /*
   ** author: wk @2012-10-03
   ** description: 和上面三行的功能相同
   */
//    UART_MemMapPtr                         sci_ptr; 
//    sci_ptr=(UART_MemMapPtr)UART4_BASE_PTR;  //wk
    
    volatile int_32                        c;


   /* try if RX buffer has some characters */
#if 0  // wk _system
   if (sci_ptr->S1 & UART_S1_RDRF_MASK) {
      c = sci_ptr->D;
//        printf("c=%x\n",c);
      if (!_io_serial_int_addc(int_io_dev_ptr, c)) {
          sci_info_ptr->RX_DROPPED_INPUT++;
      }
      sci_info_ptr->RX_CHARS++;
   }
#endif 
   
#if 1 // wk --> data rec
 static   uchar  i=0,flag=0;
//  do  
   {
   if (sci_ptr->S1 & UART_S1_RDRF_MASK) {
      c = sci_ptr->D;
      
      if(c == 0xaa || flag==1)  //第一个数据是 0xaa 开始标志才开始接收
      {
          read_buffer[i++]= c ;
          flag=1;
      }
      
      if (!_io_serial_int_addc(int_io_dev_ptr, c)) {
          sci_info_ptr->RX_DROPPED_INPUT++;
      }
      sci_info_ptr->RX_CHARS++;
   }
   }
//   while(c != 0x3c);
#endif  // wk --< data rec
   
#define UART_EVENTTEST 1
#if !UART_EVENTTEST
    if(i == 8) 
    {
      i=0;flag=0;
      LCDTouchSel(); // 触摸屏按键判断程序
    }
#endif // !UART_EVENTTEST

   
#if UART_EVENTTEST
    if(i == 8) 
    {
      i=0;flag=0;     
      pointer puart_event;
      
#ifdef _UART_DBUG_      
      if(_event_open("uart_event",&puart_event) != MQX_OK)
      {
        printf("\n Open event failed of serl_int_kuart.c");
      }
      else 
        printf("\n Open event OK of serl_int_kuart.c");
      
      if (_event_set(puart_event,0x01) != MQX_OK) {
         printf("\n Set Event failed of serl_int_kuart.c");
      }  
      else
         printf("\n Set Event OK of serl_int_kuart.c");
#endif
      
#ifndef _UART_DBUG_
      _event_open("uart_event",&puart_event);
      _event_set(puart_event,0x01);
#endif
    }
#endif // UART_EVENTTEST
   
#endif  
}