增加oled上的文本大小(Cortex M3,Stellaris LM3S6965)

tnkciper  于 2023-08-03  发布在  其他
关注(0)|答案(3)|浏览(151)

我正在与Cortex M3、Stellaris® LM 3S 6965评估板合作。我正在尝试在工作的oled屏幕上显示文本。但我不知道如何增加文本大小。
有人知道怎么做吗?
我的当前代码:

#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/sysctl.h"
#include "drivers/rit128x96x4.h"

//*****************************************************************************
//
// The error routine that is called if the driver library encounters an error.
//
//*****************************************************************************
#ifdef DEBUG
void
__error__(char *pcFilename, unsigned long ulLine)
{
}
#endif

//*****************************************************************************
//
// Display scrolling text plus graphics on the OLED display.
//
//*****************************************************************************
int
main(void)
{
    unsigned long ulRow, ulCol, ulWidth, ulHeight;
    volatile int iDelay;
    unsigned char *pucRow;
    static char pucHello[] =
    {
        "                      "
        "Current selected timezone: +2 GMT - Brussels"
        "                      "
    };

    //
    // Set the clocking to run directly from the crystal.
    //
    SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
                   SYSCTL_XTAL_8MHZ);

    //
    // Initialize the OLED display.
    //
    RIT128x96x4Init(1000000);

    // Simple scrolling text display
    //
    ulCol = 0;
    while(1)
    {
        //
        // Display the text.
        //
        RIT128x96x4StringDraw(&pucHello[ulCol++], 8, 8, 11);

        //
        // Delay for a bit.
        //
        for(iDelay = 0; iDelay < 100000; iDelay++)
        {
        }

        //
        // Wrap the index back to the beginning of the string.
        //
        if(ulCol > 53)
        {
            ulCol = 0;
        }
    }
}

字符串

qgelzfjb

qgelzfjb1#

当然,不能保证你能做到。
嵌入式系统在字体使用方面通常没有太多的自由度;动态缩放是相当昂贵的,并且许多字体是作为特定大小的预渲染二进制位图的句柄。
您需要查看由rit128x96x4.h头定义的API:s,因为这似乎是显示特定的功能。
你不会说你当前得到的字体有多大;在128 x96这样小的显示器上,我不希望有任何超大字体,因为一般来说,提供一个小字体来最大限度地增加屏幕上的文本量会更有用。

UPDATE:如果this random Google hit准确的话,提供的图形API并不算丰富,而且似乎也没有办法切换字体。

rdlzhqv9

rdlzhqv92#

StellarisWare下的grlib\fonts文件夹中有一些字体。您可以使用API调用GrContextFontSet()更改字体

hts6caw3

hts6caw33#

字体通常只是位图数组。您可以重新定义位图的任何字体你想要的。如果你想增加字符的大小,那么你可能还需要改变其他的常量,这样绘图程序就知道如何在字符被渲染时给它们设置间距。

相关问题