找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1285|回复: 5
收起左侧

有老哥能解决单片机显示图像问题吗?

[复制链接]
ID:973962 发表于 2022-9-23 11:15 | 显示全部楼层 |阅读模式
  1. void OLED_Waveform_display(void)
  2. {
  3.         int i;        
  4.          u8 n;
  5.                   
  6.         if(waveform_flag == 1)
  7.         {
  8.                 waveform_flag = 0;
  9.                 for(i=0;i<=127;i++)
  10.                 {
  11.                         for(n=0;n<64;n++)
  12.                         {
  13.                                 Setpos(i,n);
  14.                         }
  15.                         
  16.                         #if 1
  17.                         if(i!=0)
  18.                         {
  19.                                 if(myabs((int)waveform[i]-(int)waveform[i-1])>1)
  20.                                 {
  21.                                         if(waveform[i] > waveform[i-1])
  22.                                         {
  23.                                                 for(n=waveform[i-1];n<waveform[i];n++)
  24.                                                 {
  25.                                                         Setpos(i,n);               
  26.                                                 }
  27.                                         }else
  28.                                         {
  29.                                                 for(n=waveform[i];n<waveform[i-1];n++)
  30.                                                 {
  31.                                                         Setpos(i,n);               
  32.                                                 }
  33.                                         }
  34.                                        
  35.                                 }                        
  36.                         }
  37.                         Setpos(i,waveform[i]);                //?ú?àó|μ?????μ?é?′òó?
  38.                         #endif
  39.                 }
  40.         //        OLED_On();                                                //?üD???ê?μ?OLED
  41.         }
  42. }void Setpos(unsigned char x0,unsigned char y0)
  43. {
  44.         unsigned char y,mod,pos;
  45.         if(y0%8==0){
  46.                  y=y0/8;
  47.                  pos = 0x01;
  48.         }
  49.         else{
  50.                 y = y0/8;
  51.                 mod = y0%8;
  52.                 switch(mod)
  53.                 {
  54.                         case 1:
  55.                         pos = 0x02;
  56.                         break;
  57.                         case 2:
  58.                         pos = 0x04;
  59.                         break;
  60.                         case 3:
  61.                         pos = 0x08;
  62.                         break;
  63.                         case 4:
  64.                         pos = 0x10;
  65.                         break;
  66.                         case 5:
  67.                         pos = 0x20;
  68.                         break;
  69.                         case 6:
  70.                         pos = 0x40;
  71.                         break;
  72.                         case 7:
  73.                         pos = 0x80;
  74.                         break;
  75.                         default:
  76.                         break;

  77.                 }
  78.         }
  79.         OLED_Set_Pos(x0,y);
  80.         OLED_WR_Byte(pos,1);

  81. }        
复制代码
IMG_20220922_210413.jpg
回复

使用道具 举报

ID:96682 发表于 2022-9-23 17:33 | 显示全部楼层
想问楼主有升么问题么???
回复

使用道具 举报

ID:384109 发表于 2022-9-24 23:37 | 显示全部楼层
Setpos(i,n);调用有问题,或者说整体思路有问题
回复

使用道具 举报

ID:1042173 发表于 2022-9-25 07:51 来自手机 | 显示全部楼层
我看到那乱码,就知是楼主,复制别人的,。
回复

使用道具 举报

ID:195496 发表于 2022-9-28 10:52 | 显示全部楼层
只说明你这个程序,DEMO还没有调试通
回复

使用道具 举报

ID:106977 发表于 2022-9-28 13:04 | 显示全部楼层
厂家的产品都会有演示程序。一定要吃透才可能根据自己的需求扩展!
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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