OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5440|回复: 2

lcd关于96×96显示一个数字,显示出来是有一个红点,xdm帮忙看看什么问题

[复制链接]

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2022-1-21
在线时间
38 小时
发表于 2023-2-13 01:40:24 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 冯锐彬 于 2023-2-13 01:54 编辑

9696字库

9696字库

调用字库

调用字库
1676223066425.jpg

显示一个小红点

显示一个小红点
用的是正点原子lcd的例程,改的只有上述的图上的,我推测是u8那些使用不当,但是找不出来是哪一块的问题

实验13 TFTLCD显示实验.zip

3.09 MB, 下载次数: 12

最佳答案

查看完整内容[请看2#楼]

解决了是将下面的temp跟csize改成u16即可 void LCD_ShowChar(u16 x, u16 y, u8 num, u8 size, u8 mode) { u8 temp, t1, t; u16 y0 = y; u8 csize = (size / 8 + ((size % 8) ? 1 : 0)) * (size / 2); //得到字体一个字符对应点阵集所占的字节数 num = num - ' '; //得到偏移后的值(ASCII字库是从空格开始取模,所以-' '就是对应字符的字库) for (t = 0; t < csize; t++) { if (s ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2022-1-21
在线时间
38 小时
 楼主| 发表于 2023-2-13 01:40:25 | 显示全部楼层
解决了是将下面的temp跟csize改成u16即可
void LCD_ShowChar(u16 x, u16 y, u8 num, u8 size, u8 mode)
{
    u8 temp, t1, t;
    u16 y0 = y;
    u8 csize = (size / 8 + ((size % 8) ? 1 : 0)) * (size / 2);  //得到字体一个字符对应点阵集所占的字节数
    num = num - ' ';    //得到偏移后的值(ASCII字库是从空格开始取模,所以-' '就是对应字符的字库)

    for (t = 0; t < csize; t++)
    {
        if (size == 12)temp = asc2_1206[num][t];        //调用1206字体
        else if (size == 16)temp = asc2_1608[num][t];   //调用1608字体
        else if (size == 24)temp = asc2_2412[num][t];   //调用2412字体
                         else if (size == 96)temp = asc2_9648[num][t];   //调用9696字体
        else return;                                    //没有的字库[/quote]
回复

使用道具 举报

0

主题

465

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1732
金钱
1732
注册时间
2021-4-11
在线时间
320 小时
发表于 2023-2-13 09:24:22 | 显示全部楼层
帮顶            
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 16:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表