Страница 1 из 1

Нужна помощь с функцией LCD_PolyLine SSD1963

Добавлено: Сб янв 12, 2019 03:57:26
Ivan_kz
Всем здравствуйте!

Изучаю микроконтроллеры STM32F4 серии и работу цветного дисплея подключенного по FSMC. Собственно нужна помощь/совет при работе с библиотекой SSD1963 в которой есть функция она рисует линию методом полигона, то есть по точкам называется void LCD_PolyLine(pPoint Points, uint16_t PointCount). Как инициализировать структуру которая используется в данной функции? или можно как-то переделать саму функцию с использованием массивов возможно двухмерных? Вобщем хочу оценить работу данной функции по практиковаться. В Си самоучка в микроконтроллерах тоже, поиск по интернету ничего не дал. Всем спасибо кто откликнется.
Спойлер

Код: Выделить всё

typedef struct 
{
  int16_t X;
  int16_t Y;
} Point, * pPoint;

void LCD_PolyLine(pPoint Points, uint16_t PointCount)
{
  int16_t X = 0, Y = 0;

  if(PointCount < 2)
  {
    return;
  }

  while(--PointCount)
  {
    X = Points->X;
    Y = Points->Y;
		
    Points++;
		SSD1963_DrawUniLine(X, Y, Points->X, Points->Y);
  }
}

Re: Нужна помощь с функцией LCD_PolyLine SSD1963

Добавлено: Сб янв 12, 2019 06:30:41
Аlex
Эта функция рисует не линию, а полигон с помощью линий.
По коду же все ясно, как белый день...

Re: Нужна помощь с функцией LCD_PolyLine SSD1963

Добавлено: Сб янв 12, 2019 12:29:59
ARV
Ivan_kz писал(а):Как инициализировать структуру которая используется в данной функции?
элементарно

Код: Выделить всё

// квадратик
Point square_poly[4] = {{0,0},{0,10},{10,10},{10,0}}; // описали
LCD_PolyLine(square_poly, 4); // нарисовали

Re: Нужна помощь с функцией LCD_PolyLine SSD1963

Добавлено: Пн янв 14, 2019 04:16:17
Ivan_kz
ARV, Спасибо, Вы очень помогли! Ваш пример проверил все ок.