UART ISR not exiting

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

UART ISR not exiting

1,022 次查看
kirankunnath
Contributor II

Hi,

     I am using MQX UART driver for a project. Iam using TWR-K60 board for testing.

I have used UART0 and for that i have enabled "BSPCFG_ENABLE_ITTYA = 1" ( I want interrupt mode).

I have opened the device successfully and installed the ISR for the "INT_UART0_RX_TX".

when i am doing a write, the control is going to the ISR. But it is not coming out from there.

Code is given below. Any more settings need to be done?

Please help in this issue.

#define RS232_CHANNEL "ittya:"

// Main task

void rs232_write_task

   (

      uint_32 initial_data

   )

{

   

    MY_ISR_STRUCT_PTR  isr_ptr;

    char  data_buffer[] = "ISR EXAMPLE";

    uint_32 flag=IO_SERIAL_RAW_IO|IO_SERIAL_NON_BLOCKING;

    uint_32 baud=9600;

    uint_32 count = 0;

  

   rs232_dev = fopen( RS232_CHANNEL, (char const *)IO_SERIAL_HW_232_FLOW_CONTROL );

   if( rs232_dev == NULL )

   {

      _task_block();

   }

   ioctl(rs232_dev,IO_IOCTL_SERIAL_SET_FLAGS, &flag);

   ioctl(rs232_dev,IO_IOCTL_SERIAL_SET_BAUD, &baud);

    isr_ptr = _mem_alloc_zero((_mem_size)sizeof(MY_ISR_STRUCT));

    isr_ptr->OLD_ISR_DATA =

    _int_get_isr_data(INT_UART0_RX_TX);

    isr_ptr->OLD_ISR      =

    _int_get_isr(INT_UART0_RX_TX);

    _int_install_isr(INT_UART0_RX_TX, my_uart0_isr, isr_ptr);

    write( rs232_dev, data_buffer, strlen(data_buffer) );

     while(1)

     {

         count++;

    }

}

// ISR

void my_uart0_isr

(

   pointer user_isr_ptr

)

{

   MY_ISR_STRUCT_PTR  isr_ptr;

   

   isr_ptr = (MY_ISR_STRUCT_PTR)user_isr_ptr;

   (*isr_ptr->OLD_ISR)(isr_ptr->OLD_ISR_DATA);

  

}

Thanks,

Kiran

0 项奖励
回复
1 回复

788 次查看
kirankunnath
Contributor II

Can anyone help me in this issue ?

0 项奖励
回复