1

Тема: Прошивка LGT8F328P-SSOP20 через Arduino

https://github.com/dbuezas/lgt8fx

Добавим плату - https://raw.githubusercontent.com/dbuez … index.json

Установим lgt8fx
http://forum.rcl-radio.ru/uploads/images/2022/09/9295c037961071483e840e0f17e6446f.png

Откроем для редактирования файл - HardwareSerial.h
Найти его можно в Arduino\hardware\arduino\avr\cores\arduino\

Найдите в файле строку:
#define SERIAL_RX_BUFFER_SIZE 64
и замените ее на
#define SERIAL_RX_BUFFER_SIZE 250
сохраните файл

Приготовьте плату Arduino Nano или UNO

Откройте в примерах скетч - LarduinoISP

Прошейте плату Arduino

Верните в исходное состояние файл HardwareSerial.h и сохраните файл

Подключите электролитический конденсатор 47 мкФ к плате Arduino между контактами RST и GND

Подключение плату LGT8F328P-SSOP20 к плате Arduino

GND  GND
VCC  +5V
SWD  D12
RST   D10
SWC  D13

Настройте параметры платы LGT8F328P-SSOP20 в Arduino IDE как показано на скриншоте
http://forum.rcl-radio.ru/uploads/images/2022/09/0e6d51f3721b37dc3b0c7c63a9143e76.png

Если необходимо записать загрузчик нажмите - Записать загрузчик
Если необходимо записать скетч нажмите - Загрузить через программатор

BLINK

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(100);                       // wait for a second
}

2

Re: Прошивка LGT8F328P-SSOP20 через Arduino

АЦП

uint16_t value;

void setup() {
  analogReference(DEFAULT);//INTERNAL1V024 INTERNAL1V25 INTERNAL2V048 INTERNAL2V56 INTERNAL4V096 DEFAULT
  Serial.begin(9600);
}

void loop() {
  value = analogRead(A0);
  Serial.println(value/4095.00*4.096,3);
  delay(1000);
}

3

Re: Прошивка LGT8F328P-SSOP20 через Arduino

АЦП ИЗМЕРЕНИЕ ДИФФЕРЕНЦИАЛЬНОГО СИГНАЛА

#include "differential_amplifier.h"

void setup() {
  Serial.begin(9600);
  analogReference(INTERNAL1V024); ;//INTERNAL1V024 INTERNAL1V25 INTERNAL2V048 INTERNAL2V56 INTERNAL4V096 DEFAULT
}

void loop() {
  int u_plus = analogDiffRead(A0, A1, GAIN_1);//GAIN_1 GAIN_8 GAIN_16 GAIN_32
  int u_minus = analogDiffRead(A1, A0, GAIN_1);//GAIN_1 GAIN_8 GAIN_16 GAIN_32
  float u = 1.024/4095.00*(u_plus-u_minus);
  Serial.print(u,3);Serial.println(" V");
  delay(1000);
}

4

Re: Прошивка LGT8F328P-SSOP20 через Arduino

ЦАП

void setup() {
  analogReference(INTERNAL4V096);
  pinMode(4, ANALOG);
}

void loop() {
  analogWrite(4, 0);//   0V
  delay(1000);
  analogWrite(4, 62);//  1V
  delay(1000);
  analogWrite(4, 125);// 2V
  delay(1000);
  analogWrite(4, 187);// 3V
  delay(1000);
  analogWrite(4, 249);// 4V
  delay(1000);  
}

5

Re: Прошивка LGT8F328P-SSOP20 через Arduino

ИЗМЕРЕНИЕ VCC

uint16_t vcc5d1 = 0;

void setup() {
  Serial.begin(9600);
  // using internal 1.024V reference
  analogReference(INTERNAL1V024);
}

void loop() {
  vcc5d1 = analogRead(VCCM);
  vcc5d1 *= 5;

  Serial.print("Analog Power Supply: = ");
  Serial.print(vcc5d1/4095.00,3);
  Serial.println("mV");

  delay(500);
}