Микроконтроллеры

STM32F4. Урок 26 — Передача данных АЦП на ПК

Staticvoid
26 Июл 2026
1 мин чтения
1 просмотров

эта библиотека предназначена для связи устройства с компьютером и передачи измеренных значений АЦП в прошивку «Logview.exe» (например график заряда батареи в этот момент или в динамическом режиме и т.д.).программа «Logview.exe» находится в свободном доступе насайте. эти передаются контроллером в формате ASCII на компьютер через RS232. Полученные эти измерений могут либо сразу отправляться на ПК, либо формироваться в пакет для последующей отправки на компьютер (зависит от настроек в прошивке контроллера). Это позволяет передавать эти многократных измерений, а масштабирование на себя возьмет компьютерная программа.

Примечание:Настройки в LogView должны совпадать с настройками контроллера. Таким образом, если (как в примере) передается эти двух АЦП, LogView кроме того должен быть настроен на два канала, иначе отображение будет некорректным. К проекту приложено три ini-файла для настройки приема данных.

Пример использования:

STM32F4. Урок 26 - Передача данных АЦП на ПК

Требования:

Подключаемые модули 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 Кб)
  • STM32
  • CooCox CoIDE
  • Перевод
  • UART
  • микроконтроллер
  • АЦП

Staticvoid

Администратор сайта https://www.radiomasters.ru/

Администратор сайта https://www.radiomasters.ru/

Комментарии (0)

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие статьи