[GUI] LCD屏幕上实现 printf 打印函数

[复制链接]
wilhelmina2 发表于 2024-6-13 21:31 | 显示全部楼层
一种常见的方法是将printf输出重定向到UART(通用异步收发传输器),然后使用UART将数据发送到PC端,最后在PC端将数据转发到LCD
kmzuaz 发表于 2024-6-14 16:47 | 显示全部楼层
考虑增加一些额外的功能,如清除屏幕、设置光标位置、设置字体颜色和大小等
zerorobert 发表于 2024-6-14 20:21 | 显示全部楼层
需要为你的 LCD 显示器选择合适的库或驱动程序。这可以是一个通用的库(如 UCGUI、LVGL 等),也可以是针对特定型号 LCD 的专用库。
backlugin 发表于 2024-6-15 16:05 | 显示全部楼层
printf函数是C标准库的一部分,它最终会调用fputc函数来输出单个字符。为了将输出重定向到LCD,你需要重写fputc函数,使其向LCD的显示缓冲区发送字符而不是标准输出(如串口)。
kkzz 发表于 2024-6-16 08:45 | 显示全部楼层
编写一个函数,用于在LCD屏幕上显示字符。这个函数需要接收字符、位置(如行、列)等参数,并根据所选字体库(如ASCII字体库)将字符显示在LCD屏幕上。
mollylawrence 发表于 2024-6-16 15:01 | 显示全部楼层
#include "stm32f10x.h"  // 根据您的STM32型号,引入正确的头文件
#include "lcd.h"        // LCD驱动程序的头文件

// 假设您已经有了一个初始化LCD的函数LCD_Init()
// 以及一个可以向LCD发送一个字符的函数LCD_SendChar(char ch)

void LCD_Print(char *fmt, ...) {
    va_list args;
    va_start(args, fmt);
   
    // 调用vprintf来格式化字符串
    vprintf(fmt, args);
   
    va_end(args);
   
    // 获取已格式化的字符串的长度
    int len = vsnprintf(NULL, 0, fmt, args);
    char buffer[len + 1]; // 创建一个足够大的缓冲区
   
    // 重新格式化字符串到缓冲区
    vsprintf(buffer, fmt, args);
   
    // 逐个字符地将缓冲区内容发送到LCD
    for (int i = 0; i < len; ++i) {
        LCD_SendChar(buffer[i]);
    }
}

int main(void) {
    // 初始化LCD
    LCD_Init();

    // 使用printf函数
    LCD_Print("Hello, World!\n");

    // ... 您的程序其他部分

    while (1) {
        // 循环
    }
}
EmmaTT 发表于 2024-6-18 21:32 | 显示全部楼层
这个用sprintf构建字符串也行
lihuami 发表于 2024-6-19 16:21 | 显示全部楼层
LCD显示字符通常需要字符库的支持。可以自行设计字符库,或使用现成的标准字符库。每个字符占据一定的像素矩阵,需要将每个字符的点阵数据存储在数组中。
digit0 发表于 2024-6-22 14:34 | 显示全部楼层
将标准输出(stdout)重定向到 lcd 显示器。
小小蚂蚁举千斤 发表于 2024-6-23 14:34 | 显示全部楼层
LCD屏幕是什么通讯?
鹿鼎计 发表于 2024-6-26 15:50 | 显示全部楼层
该函数通常将输出发送到标准输出
suncat0504 发表于 2024-6-29 19:42 | 显示全部楼层
属于数据输出转向了。估计要增加位置处理的。比如遇到换行符,需要计算位置、确定是否换行、换页等问题。谢谢分享。
AIsignel 发表于 2024-7-4 16:24 | 显示全部楼层
在液晶驱动程序库的基础上,实现了基本的点画功能,然后利用字符库中的点矩阵数据,编写该功能在液晶显示器上绘制各个字符。
天天向善 发表于 2024-7-4 23:32 | 显示全部楼层
实际上,printf 实现接口被更改为 lcd 写接口函数。
理想阳 发表于 2024-7-5 18:31 | 显示全部楼层
Printf 函数的字符输出函数改为 lcd 写函数
LinkMe 发表于 2024-7-6 12:32 | 显示全部楼层
这也适用于 sprintf 构建字符串
V853 发表于 2024-7-8 11:56 | 显示全部楼层
printf功能的字符输出功能更改为lcd写入功能
朝生 发表于 2024-7-10 14:40 | 显示全部楼层
将printf功能的字符输出功能更改为lcd写入功能
回复就哭哭 发表于 2024-7-31 23:49 | 显示全部楼层
LCD屏幕一般与微控制器(如STM32、ESP32等)连接,并且通常需要使用一个库或驱动程序来控制LCD显示。
为你转身 发表于 2024-8-31 13:25 | 显示全部楼层
初始化 LCD 屏幕、配置 printf 输出、以及实现输出到 LCD 屏幕的功能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部