FT232BL做的USB转TTL串口不能连续发0x00

2020-01-20 19:10发布

        今天突然发现,前些年做的一款usb转TTL串口的转接板,不能连续大量发送0x00。
        测试环境是这样的,在单片机上调试好串口发送函数putch();单片机接收到任意一个数据,
单片机就开始往PC机发送99个0x00和一个标志计数,发100次,总共是9900个0x00,标志从1~99,这时候从串口sscom32却只能读到2800个左右的数据。
调试助手中看到的数据,可以发现丢了好多0x00,但是又不知道为什么丢。
        如果连续发送1~100这样的数,发送100次,却一个数也不丢。
        真心郁闷,恳请大神相助啊。
这个是我的函数:
  1. void main(void)
  2. {
  3. volatile unsigned int counter;
  4. volatile unsigned int counter2;
  5. volatile unsigned char temp;

  6. sys_init();

  7. while(1)
  8. {
  9.   if(RI)
  10.     {
  11.          temp = getch();
  12.          for(counter=0; counter<100; counter++)
  13.             {
  14.                  for(counter2=0; counter2<99; counter2++)putch(0x00);
  15.                  putch(counter);
  16.                 }
  17.          putch(temp);
  18.         }
  19. }

  20. }
复制代码

截图01.jpg (180.9 KB, 下载次数: 0) 下载附件 2015-3-10 18:30 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。