查看: 2115|回复: 1

[MQX] 求助:在mqx操作系统下,k64如何实现利用RTS控制RS485收发数据

[复制链接]

该用户从未签到

51

主题

307

帖子

0

高级会员

Rank: 4

积分
651
最后登录
2020-9-4
发表于 2014-10-17 16:44:12 | 显示全部楼层 |阅读模式
你好:
下面是我的测试程序,大家帮看看有何问题?
本串口通过RS485转RS232转换器接到电脑的串口,测试版发送的数据电脑接收不到,测试版能够接收到电脑的发送数据。难道我还得通过程序控制RTS。

void mian_task
   (
      uint32_t initial_data
   )
{
   MQX_FILE_PTR rs485_dev = NULL;
   char  data_buffer[] = "RS485 send example";
   bool disable_rx = TRUE;
   uint32_t result;
     rs485_dev = fopen( RS485_CHANNEL, (char const *)IO_SERIAL_HW_485_FLOW_CONTROL );
      
   if( rs485_dev == NULL )
   {
      /* device could not be opened */
      _task_block();
   }
   
   /* half duplex, two wire. use only if disable receiver in transmit is desired */
   result = ioctl( rs485_dev, IO_IOCTL_SERIAL_DISABLE_RX, &disable_rx );
   if( result == IO_ERROR_INVALID_IOCTL_CMD )
   {
      /* ioctl not supported, use newer MQX version */
      _task_block();
   }
   
   /* write data */
   write( rs485_dev, data_buffer, strlen(data_buffer) );
   
   /* empty queue - not needed for polled mode */
   fflush( rs485_dev );
   
   /* wait for transfer complete flag */
   result = ioctl( rs485_dev, IO_IOCTL_SERIAL_WAIT_FOR_TC, NULL );
   if( result == IO_ERROR_INVALID_IOCTL_CMD )
   {
      /* ioctl not supported, use newer MQX version */
      _task_block();
   }
   
   /* half duplex, two wire */
   /* if receiver was disabled before, enable receiver again */  
   disable_rx = FALSE;
   ioctl( rs485_dev, IO_IOCTL_SERIAL_DISABLE_RX, &disable_rx ) ;
   while(1)
    {
        i=  fread(data_buffer, 1, 10,rs485_dev);
        if(i !=0)
        {   
            for(j =0; j<i;j++)
            {
               
                buffer[readlen+j] = data_buffer[j];
               
            }
            readlen += i;
        }
        if(readlen ==10)
        {
            break;
        }
    }
   
   _task_block();
}
我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

9

主题

443

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1120
最后登录
2016-9-23
发表于 2014-10-18 20:10:19 | 显示全部楼层

回帖奖励 +1 NXP金币

。。。。。。。。。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-25 08:43 , Processed in 0.082127 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表