powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Чтение из серийного порта
4 сообщений из 4, страница 1 из 1
Чтение из серийного порта
    #40059850
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я посылаю в микроконтроллер комманду - прочитай мне с такого то адреса столько то байт. И я вижу что микроконтроллер возвращает мне 64 байта, количество которое я запросил. Но серийный порт читает только 5-7 байт.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
private int CPU_Read(uint address, int size, int offset, byte[] data)
{
    int ticks = 0;
    int length = 0;
    int val, i = 0;

    if (size > data.Length)
        length = data.Length;
    else
       length = size;

    comport.DiscardInBuffer();
    comport.DiscardOutBuffer();

    //opcode read
    command[0] = CPU_CMD_READ;
    //address
    command[1] = (byte)(address);
    command[2] = (byte)(address >> 8);
    command[3] = (byte)(address >> 16);
    command[4] = (byte)(address >> 24);
    //length
    command[5] = (byte)length;

    comport.Write(command, 0, 6);

    while (comport.BytesToRead == 0)
    {
         Thread.Sleep(1);
         ticks++;
         if (ticks > 10000)
             return 0;
    }

    //comport.Read(data, offset, length);

    while (comport.BytesToRead > 0)
    {
        val = comport.ReadByte();
        data[i] = (byte)val;
        i++;

         if (i > length)
             break;
    }
            
     return i;
}



Что не так в моём методе?
...
Рейтинг: 0 / 0
Чтение из серийного порта
    #40060019
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7
Код: c#
1.
while (comport.BytesToRead > 0)




не всегда удаётся прочитать видимо
...
Рейтинг: 0 / 0
Чтение из серийного порта
    #40060049
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt
jenya7
Код: c#
1.
while (comport.BytesToRead > 0)




не всегда удаётся прочитать видимо

я прохожу это условие. но BytesToRead почему то 5 а не 64.
...
Рейтинг: 0 / 0
Чтение из серийного порта
    #40060054
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

попробуйте читать, используя события

https://www.instructables.com/Serial-Port-Programming-With-NET/
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Чтение из серийного порта
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]