Данная библиотека предназначена для связи устройства с компьютером и передачи измеренных значений АЦП в программу «Logview.exe» (например график заряда батареи в данный момент или в динамическом режиме и т.д.).
Программа «Logview.exe» находится в свободном доступе на сайте. Данные передаются микроконтроллером в формате ASCII на компьютер через RS232. Полученные данные измерений могут либо сразу отправляться на ПК, либо формироваться в пакет для последующей отправки на компьютер (зависит от настроек в прошивке микроконтроллера). Это позволяет передавать данные многократных измерений, а масштабирование на себя возьмет компьютерная программа.
Примечание: Настройки в LogView должны совпадать с настройками микроконтроллера. Таким образом, если (как в примере) передается данные 2-х АЦП, LogView также должен быть настроен на два канала, иначе отображение будет некорректным. К проекту приложено три ini-файла для настройки приема данных.
Пример использования:
Требования:
Подключаемые модули CooCox-IDE: Retarget_printf
Поддерживаемые библиотеки: STM32_UB_UART
Функции:
ErrorStatus UB_Logview_Init(uint8_t kanal_anz); // инициализация
void UB_Logview_SendFrame(UART_NAME_t uart); // отправка данных в Logview.exe
Пример использования:
//—————————————————————
// File : main.c
// Datum : 29.03.2013
// Version : 1.0
// Autor : UB
// EMail : mc-4u(@)t-online.de
// Web : www.mikrocontroller-4u.de
// CPU : STM32F4
// IDE : CooCox CoIDE 1.7.0
// Module : CMSIS_BOOT, M4_CMSIS_CORE
// Funktion : Demo der Logview-Library
// Hinweis : Diese zwei Files muessen auf 8MHz stehen
// «cmsis_boot/stm32f4xx.h»
// «cmsis_boot/system_stm32f4xx.c»
//—————————————————————
#include «main.h»
#include «stm32_ub_logview.h»
#include «stm32_ub_adc1_single.h»
void Delay(volatile uint32_t nCount){
while(nCount—) {
}
}
int main(void)
{
uint16_t adc_wert;
SystemInit(); // Инициализация настроек кварца
// Инициализация Logview для работы с двумя каналами
UB_Logview_Init(2);
// Инициализация АЦП
UB_ADC1_SINGLE_Init();
while(1)
{
// измерение АЦП на PA3
adc_wert=UB_ADC1_SINGLE_Read_MW(ADC_PA3);
// Отправка полученных значений в Logview по каналу 0
LOGVIEW.kanal[0]=adc_wert;
// измерение АЦП на PС4
adc_wert=UB_ADC1_SINGLE_Read_MW(ADC_PC4);
// Отправка полученных значений в Logview по каналу 1
LOGVIEW.kanal[1]=adc_wert;
// отправка обоих измеренных значения через UART (PA2)
// Отправить в Logview.exe
UB_Logview_SendFrame(COM2);
// небольшая пауза
Delay(500000);
}
}
В приложении проект CooCox и отдельная библиотека для использования в других проектах. Автор оригинала статьи просит задавать вопросы на его сайте на немецком или английских языках.
Прикрепленные файлы:
- Demo_26_Logview_rus.rar (250 Кб)
- logview_ini_files_rus.rar (37 Кб)
- ub_stm32f4_logview_v100_rus.rar (46 Кб)