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 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
9509238
1楼-- · 2020-01-20 20:43
确定不是你单片机的问题?
willX
2楼-- · 2020-01-20 21:33
 精彩回答 2  元偷偷看……
heyuncun
3楼-- · 2020-01-20 23:36
这有可能是串口控件的问题,你换一个串口调试助手!
261854681
4楼-- · 2020-01-21 04:48
确定没遇见过这种问题,可能是芯片问题
LinuxTux.China
5楼-- · 2020-01-21 06:16
示波器跟踪收发线看看是否完全一致,明确是未发出去还是软件未收到。
modbus
6楼-- · 2020-01-21 06:25
你至少要把putch函数贴出来吧

一周热门 更多>