智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3710|回复: 4
打印 上一主题 下一主题

K60 oled显示赛道程序求共享!!!

[复制链接]

2

主题

27

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1055
威望
517
贡献
282
兑换币
284
注册时间
2014-7-16
在线时间
128 小时
毕业学校
桂电
跳转到指定楼层
1#
发表于 2015-3-11 18:31:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
调了一天都是花屏= =
  1. void Eighty_Sixty_Display(uint8 *img)
  2. {
  3.   //uint8 *tempimg = (uint8 *)img;
  4.    uint8 tempimg[80][60];
  5.    img_extract((uint8 *)img,(uint8 *) tempimg, 80*60/8);        //解压为灰度图像,方便发送到上位机显
  6.    uint8 i=0, j=0;
  7.    for(i=0; i<=6; i++)//7次循环完成56*80的图像区
  8.    {
  9.         LCD_Set_Pos(0,i);
  10.         for(j=0; j<80; j++)//一次循环完成一个8*60的图像去
  11.         {
  12.             uint8 x = tempimg[i*8][j]
  13.                     +tempimg[i*8+1][j]*2
  14.                             +tempimg[i*8+2][j]*4
  15.                                     +tempimg[i*8+3][j]*8
  16.                                             +tempimg[i*8+4][j]*16
  17.                                                     +tempimg[i*8+5][j]*32
  18.                                                             +tempimg[i*8+6][j]*64
  19.                                                                     +tempimg[i*8+7][j]*128;//将竖着的8个像素合并成一个字节
  20.             LCD_WrDat(x);
  21.         }
  22.     }
  23. //上面的一段程序完成了56行像素的显示,同理,下面显示剩下4行
  24.     LCD_Set_Pos(0,7);
  25.     for(j=0; j<80; j++)
  26.     {
  27.         uint8 x = tempimg[56][j]
  28.                  +tempimg[57][j]*2
  29.                         +tempimg[58][j]*4
  30.                                 +tempimg[59][j]*8;
  31.         LCD_WrDat(x);
  32.     }
  33. }
复制代码

回复

使用道具 举报

6

主题

227

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4239
威望
1991
贡献
1328
兑换币
1288
注册时间
2013-1-12
在线时间
460 小时
2#
发表于 2015-3-11 18:56:55 | 只看该作者
void LED_PrintImage(uchar *puc, uchar RowNum, uchar ColumnNum)
{
    uchar Data;
    uchar i,j,k,m,n;
    uchar RowTmp;

    m = RowNum >> 3;   //计算图片行数以8位为一组完整的组数
    n = RowNum % 8;    //计算分完组后剩下的行数
   
    for(i = 0; i < m; i++) //完整组行扫描
    {
     LED_zuobiao(12,(uchar)i);
        RowTmp = i << 3;    //计算当前所在行的下标                  
        for(j = 0; j < ColumnNum; j++) //列扫描        
        {
            Data = 0;
            for(k = 0; k < 8; k++) //在i组中对这8行扫描
            {
                Data = Data >> 1;
                if((puc + (RowTmp + k) * ColumnNum)[j] == LED_IMAGE_WHITE)
                {
                    Data = Data | 0x80;
                }
               
            }
            LED_WrDat(Data);
        }
    }
   
   LED_zuobiao(12,(uchar)i); //设置剩下的行显示的起始坐标
    RowTmp = i << 3;       //计算当前所在行的下标                  
    for(j = 0; j < ColumnNum; j++) //列扫描        
    {
        Data = 0;
        for(k = 0; k < n; k++) //对剩下的行扫描
        {
            Data = Data >> 1;
            if((puc + (RowTmp + k) * ColumnNum)[j] == LED_IMAGE_WHITE)
            {
                Data = Data | 0x80;
            }
            
        }
        Data = Data >> (8 - n);
        LED_WrDat(Data);
    }

    return;
}

然后调用的时候:
for(i = 0 ;.......)//自己写完整吧
{
        file:///D:\Users\Tianmang\AppData\Roaming\Tencent\Users\1515949177\QQ\WinTemp\RichOle\CX}MH2N)P9O@SCMJM)@S`]L.pngLED_PrintImage((uchar *)Image,60,100);
}

这不是我写的,随便找了一个贴的,自己再看看。






回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
威望
158
贡献
102
兑换币
103
注册时间
2014-8-1
在线时间
30 小时
毕业学校
内科大
3#
发表于 2015-4-4 20:48:15 | 只看该作者
楼上的弄出来了吗???
回复 支持 反对

使用道具 举报

17

主题

74

帖子

0

精华

高级会员

Rank: 4

积分
821
QQ
威望
460
贡献
241
兑换币
193
注册时间
2014-6-24
在线时间
60 小时
毕业学校
陇东学院
4#
发表于 2015-12-22 14:40:43 | 只看该作者
liulinsheng 发表于 2015-4-4 20:48
楼上的弄出来了吗???

搞定没啊  我的也是花屏
回复 支持 反对

使用道具 举报

17

主题

74

帖子

0

精华

高级会员

Rank: 4

积分
821
QQ
威望
460
贡献
241
兑换币
193
注册时间
2014-6-24
在线时间
60 小时
毕业学校
陇东学院
5#
发表于 2015-12-22 14:41:01 | 只看该作者
搞定没啊   我的也是花屏
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 19:34 , Processed in 0.101638 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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