Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 05.06.2015, 00:41  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Да порт Вы сами открываете или закрываете Open Close. Надеюсь закрываете порт при выходе из программы, а не после каждого принятого пакета?
Реклама:
Boba_spb вне форума  
Непрочитано 05.06.2015, 00:47  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Дайте гянуть как Вы там корректируете countByteInBuff и какого размера serialInByte.
Boba_spb вне форума  
Непрочитано 05.06.2015, 01:15  
shurenock
Частый гость
 
Регистрация: 01.04.2005
Сообщений: 33
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
shurenock на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

byte[] serialInByte = new byte[100];

Дальше код обработки принятой информации
идет сразу за кодом catch в предыдущих постах
//Увеличиваем счетчик буфера на число принятых байтов
countByteInBuff += temp;

//Если буфер больше 2 байт, проверяем на байты синхронизации. Удаляем байты мусора перед ними
if (countByteInBuff ›= 2)
{
//Цикл прохода по массиву принятых байтов
for (int i = 0; i ‹ countByteInBuff - 1; i++)
{
//Если два первых байта - не байты синхронизации
if (!(serialInByte[0] == USART_SYN_OUT && serialInByte[1] == USART_SYN_OUT))
{
//Сдвигаем массив влево
for (int j = 0; j ‹ countByteInBuff - 1; j++) serialInByte[j] = serialInByte[j + 1];
//Уменьшаем число принятых элементов на 1
countByteInBuff--;
//Начинаем цикл прохода заново
i = 0;
}
//Если два первых байта - байты синхронизации - выходим
else
{
i = countByteInBuff;
}
}
}

//Если буфер больше 6 байт - выбираем посылку.
if (countByteInBuff ›= 6)
{
//Если приняты два байта 0xFF - начало рабочего цикла очистить буфер экрана, очистить буфер приема
if (serialInByte[2] == 0xFF && serialInByte[3] == 0xFF)
{
for (int i = 0; i ‹ mode4PhaseArray.Length - 1; i++)
{
mode4PhaseArray[i] = 0;
mode4FreqArray[i] = 0;
serialPortMCU.DiscardInBuffer();
}
serialInByte[2] = 0x02;
serialInByte[3] = 0x00;
}

//Считываем и конвертируем значение фазы
phaseCurr = serialInByte[2];
phaseCurr = phaseCurr ‹‹ 8;
phaseCurr += serialInByte[3];
phaseCurr = phaseCurr * 351 / 1000 - 180 + 35;
//Выводим значение фазы на экран
tbPhaseCurrMode4.Text = phaseCurr.ToString();

//Считываем и конвертируем значение частоты
freqCurr = serialInByte[4];
freqCurr = freqCurr ‹‹ 8;
freqCurr += serialInByte[5];
//Выводим значение частоты на экран
tbFreqCurrMode4.Text = freqCurr.ToString();
freqCurr -= 38000;
freqCurr = freqCurr * 360 / 4000;


//Сдвигаем массив на 6 байта
for (int i = 0; i ‹ 6; i++)
{
for (int j = 0; j ‹ countByteInBuff - 1; j++) serialInByte[j] = serialInByte[j + 1];
countByteInBuff--;
}
}
Скобки фигурные мог упустить при копировании, т.к. там еще есть код дальше.

Последний раз редактировалось shurenock; 05.06.2015 в 01:24.
shurenock вне форума  
Непрочитано 05.06.2015, 01:27  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком


Вы так смело из потока, организованного не Вами, пытаесь пользовать
tbFreqCurrMode4.Text = freqCurr.ToString(); и tbPhaseCurrMode4.Text = phaseCurr.ToString();
Boba_spb вне форума  
Сказали "Спасибо" Boba_spb
j-Roger (08.06.2015)
Непрочитано 05.06.2015, 01:39  
shurenock
Частый гость
 
Регистрация: 01.04.2005
Сообщений: 33
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
shurenock на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

) А вы хотите меня уверить, что это как-то повлияет на то что произошло раньше? Событие - прием информации по последовательному интерфейсу - произошло. Обработку производит ЦП. С его быстродействием вывести информацию в буфер экрана. ) Идет обработка принятых данных - это асинхронный процесс, он регулируется очередью винды. Он явно не перекроет следующую посылку. Поэтому я никаких проблем не вижу. По крайней мере, относящихся к этому затыку.

Последний раз редактировалось shurenock; 05.06.2015 в 01:42.
shurenock вне форума  
Непрочитано 05.06.2015, 01:48  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Посмотрите, может чуток поможет
http://skillcoding.com/Default.aspx?id=235

Вы слушайтесь старших, когда Вам хотят помочь, а не пререкайтесь. Тем более что Ваши познания в этой области пока около нуля.
Boba_spb вне форума  
Непрочитано 05.06.2015, 09:37  
shurenock
Частый гость
 
Регистрация: 01.04.2005
Сообщений: 33
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
shurenock на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

) Вот так. Вкалываешь годами. Специально вторую вышку по программированию получаешь. Фигачишь диплом с многопотоковой прогой. Пишешь проги. Трахаешься с делегатами, раскручиваешь как из одного потока в другом работать - и как вывод: познания около нуля.
А кто вам сказал, что эта прога многопотоковая? А ссылка ваша как вяжется с проблемой. Делегаты - это всего лишь указатель на метод, который изначально не определен, но в дальнейшем будет задействован при переходе по этой ссылке.
Вы хоть пару книжек по шарпу прочитайте типа "C# для профессионалов" там два тома и море информации для размышлений. Или лекции на Интуите. Тоже хорошая штука. Ну и https://msdn.microsoft.com/ru-ru/ вам в руки. А потом про потоки поговорим.
https://msdn.microsoft.com/ru-ru/library/ms173178.aspx вот ссылка про них.
https://msdn.microsoft.com/ru-ru/library/ms173171.aspx а это про делегаты, про которые в вашей ссылке говорится. Автор кстати через отдельный поток работал. А можно было гораздо проще через класс Timer работать. Там событий хватает. Он внизу в комментах об этом и говорит.
Так что не надо вот так сразу людей опускать не зная их возможности и опыт.
Хотя конечно в жизни все бывает. И я могу быть не прав.)))

Последний раз редактировалось shurenock; 05.06.2015 в 09:48.
shurenock вне форума  
Непрочитано 05.06.2015, 10:25  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx
Это для Вас там написано !!! Что ж Вы так плохо читаете


Прошу прощения, если представленный текст программы был не Вами написан.
Ибо алгоритмика и стиль - не дает никаких поводов думать об специальном образовании в области программирования.

Последний раз редактировалось Boba_spb; 05.06.2015 в 10:30.
Boba_spb вне форума  
Непрочитано 05.06.2015, 10:40  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Сообщение от shurenock Посмотреть сообщение
) Вот так. Вкалываешь годами. Специально вторую вышку по программированию получаешь. Фигачишь диплом с многопотоковой прогой. Пишешь проги. Трахаешься с делегатами, раскручиваешь как из одного потока в другом работать - и как вывод: познания около нуля.
Вспомнился анекдот - Китайца спросили как он учил русский язык. Он говорит - Я каждый день учил 10 слов. За год запомнил 3650 слов. За три года запомнил уже 11950 слов. И все эти слова у меня тут , постучав по голове, ... в жопе.
Boba_spb вне форума  
Непрочитано 05.06.2015, 11:03  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Мост USB-USART проблемы с ноутбуком

Сообщение от shurenock Посмотреть сообщение
) А можно было гораздо проще через класс Timer работать. Там событий хватает.
Какой класс Вы имеете ввиду? System.Threading.Timer или System.Windows.Forms.Timer
Boba_spb вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32F205RB Проблемы с USART IvanAlyaev ARM 2 04.05.2014 12:46
На ноутбуке Sony проблемы с USB sandist Ремонт оргтехники 6 23.05.2009 19:41
Помогите разобраться с USART в CodeVisionAVR vendim Микроконтроллеры, АЦП, память и т.д 20 26.07.2007 16:42


Часовой пояс GMT +4, время: 00:25.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot