Речь собственно будет идти о связи микроконтроллера и компьютера для обработки данных в программе LabView. Данная программа является универсальным инструментом разработки и создана специально для обработки различной информации. К программе имеется множество всяких модулей, но на данный момент будет использоваться модуль для работы с COM — NI-VISA 4.6.2. Данный модуль я отдельно не скачивал, потому что после установки LabView 2010 он уже был установлен. Короче говоря, если во вкладке Instrument I/O нет компонента Serial, то придется отдельно скачивать NI-VISA 4.6.2.
Рассмотрим программу
Это лицевая панель, на ней отображены график, светодиод, параметры подключения VISA и принимаемый фрейм.
VISA Configure Serial Port конфигуратор порта. VISA resource name это функция выбора номера порт. boud rate — скорость порта. Далее в цикле идет функция чтения VISA Read. Вывод byte count это количество считываемых байт, ставим 1 байт. Далее идут преобразования полученных данных из строкового типа в числовой и вывод на график. в конце цикла ставим VISA Close которая завершает сессию передачи.
В качестве источника данных использовалась отладочная плата с STM32F103C8 и обычный переходник USB-UART. Программа для микроконтроллера написана в среде программирования CoIDE. Контроллер «дрыгает» ножкой PA3, и считывает по АЦП какой логический уровень на ножке в данный момент времени. После того как он считает идет отправка по UART, далее процедуры повторяются.
while(1){
y=ADC_GetConversionValue(ADC1_BASE);
y=y/4000;
itoa(y,gg);
UARTSend(gg,1);
GPIOA->ODR = GPIOA->ODR ^ (1<<3);
Delay(1000000);
}
На графике отображен треугольный сигнал, на самом деле там прямоугольный. Получается это из за того что используется одна задержка между передачей и переключением ножки. В принципе не в этом суть статьи.
Написанную программу в LabView можно собрать в exe файл, но этот файл не запустится на другом ПК где нет установленной LabView. Данная проблема решается установкой Run-Time Engine.
Прикрепленные файлы:
- stm32+labview.rar (348 Кб)