标题: 有老哥能解决单片机显示图像问题吗? [打印本页]

作者: 纯纯粹粹踩踩踩    时间: 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 (3.25 MB, 下载次数: 85)

IMG_20220922_210413.jpg

作者: wc86110    时间: 2022-9-23 17:33
想问楼主有升么问题么???
作者: 人中狼    时间: 2022-9-24 23:37
Setpos(i,n);调用有问题,或者说整体思路有问题
作者: QQQQ987    时间: 2022-9-25 07:51
我看到那乱码,就知是楼主,复制别人的,。
作者: 大漠落日    时间: 2022-9-28 10:52
只说明你这个程序,DEMO还没有调试通
作者: lgwd    时间: 2022-9-28 13:04
厂家的产品都会有演示程序。一定要吃透才可能根据自己的需求扩展!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1