Драйвер экрана реализовать на языке Си #4

Open
opened 2023-06-25 12:52:35 +00:00 by usr22772 · 6 comments
Owner

a7b8634193/lcd_i2c.cpp

Не раз говорил про реализацию модулей на языке Си. Не Си++

https://git.vyatsu.ru/ICS-Microprocessor-2020/Display_Avr_3/src/commit/a7b86341939cfca602bc27e7d13c18d62f70ea3a/lcd_i2c.cpp Не раз говорил про реализацию модулей на языке Си. Не Си++
Owner

Переделал на С, возникает undefined reference, попробую ночью дофиксить.#ifndef I2C_H_

Переделал на С, возникает undefined reference, попробую ночью дофиксить.#ifndef I2C_H_
Author
Owner

#include <Wire.h>
нужно помнить, что нужно программу делать на Си, а из наличия файла i2c_functions.c понимаю, что вы это помните. Сейчас используется библиотека Wire, исключите её. Вы в верном направлении.

https://git.vyatsu.ru/ICS-Microprocessor-2020/Display_Avr_3/src/commit/97f38c92d53a4c63fcc666216b7a85ab0795b6f8/display_functions.c#L2 нужно помнить, что нужно программу делать на Си, а из наличия файла `i2c_functions.c` понимаю, что вы это помните. Сейчас используется *библиотека* Wire, исключите её. Вы в верном направлении.
Author
Owner

void printLsd(const char * inputText)

void printLsd(const char * inputText)

почему lsd? Что значит эта аббревиатура? У нас точно есть LCD (liquid crystal display).

Сама функция принимает только указатель. Далее из кода следует, что в качестве указателя передаётся null-terminated string (строка-массив байт с нулём на конце). Как пользователю вашего устройства передать численные значения на экран?

https://git.vyatsu.ru/ICS-Microprocessor-2020/Display_Avr_3/src/commit/800f48bc118f5fd1a627eb7ece16bb7108774fdc/Lsd_print/Lsd_print.cpp#L62 ``` void printLsd(const char * inputText) ``` почему `lsd`? Что значит эта аббревиатура? У нас точно есть LCD (liquid crystal display). Сама функция принимает только указатель. Далее из кода следует, что в качестве указателя передаётся null-terminated string (строка-массив байт с нулём на конце). Как пользователю вашего устройства передать численные значения на экран?
Author
Owner

DisplayData displayData;

Должно быть

  struct DisplayData displayData;

Вы пишете на Си, не С++.

https://git.vyatsu.ru/ICS-Microprocessor-2020/Display_Avr_3/src/commit/800f48bc118f5fd1a627eb7ece16bb7108774fdc/Lsd_print/Lsd_print.cpp#L71 Должно быть ``` struct DisplayData displayData; ``` Вы пишете на Си, не С++.
Author
Owner

delay(2);

Прошу обосновать задержку в 2 миллисекунды.

https://git.vyatsu.ru/ICS-Microprocessor-2020/Display_Avr_3/src/commit/800f48bc118f5fd1a627eb7ece16bb7108774fdc/MyLCD/lcdpcf8574.cpp#L118 Прошу обосновать задержку в 2 миллисекунды.
Owner

Функция lcd_waitbusy() используется для проверки готовности LCD-дисплея к приему новой команды, задержку в 2 секунды мы решили вставить, так как дисплей не всегда корректно может отражать готовность к работе, к тому же, он подключен по i2c, что увеличивает время выполнения команд.

Функция lcd_waitbusy() используется для проверки готовности LCD-дисплея к приему новой команды, задержку в 2 секунды мы решили вставить, так как дисплей не всегда корректно может отражать готовность к работе, к тому же, он подключен по i2c, что увеличивает время выполнения команд.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ICS-Microprocessor-2020/Display_Avr_3#4
No description provided.