- void OLED_Waveform_display(void)
- {
- int i;
- u8 n;
-
- if(waveform_flag == 1)
- {
- waveform_flag = 0;
- for(i=0;i<=127;i++)
- {
- for(n=0;n<64;n++)
- {
- Setpos(i,n);
- }
-
- #if 1
- if(i!=0)
- {
- if(myabs((int)waveform[i]-(int)waveform[i-1])>1)
- {
- if(waveform[i] > waveform[i-1])
- {
- for(n=waveform[i-1];n<waveform[i];n++)
- {
- Setpos(i,n);
- }
- }else
- {
- for(n=waveform[i];n<waveform[i-1];n++)
- {
- Setpos(i,n);
- }
- }
-
- }
- }
- Setpos(i,waveform[i]); //?ú?àó|μ?????μ?é?′òó?
- #endif
- }
- // OLED_On(); //?üD???ê?μ?OLED
- }
- }void Setpos(unsigned char x0,unsigned char y0)
- {
- unsigned char y,mod,pos;
- if(y0%8==0){
- y=y0/8;
- pos = 0x01;
- }
- else{
- y = y0/8;
- mod = y0%8;
- switch(mod)
- {
- case 1:
- pos = 0x02;
- break;
- case 2:
- pos = 0x04;
- break;
- case 3:
- pos = 0x08;
- break;
- case 4:
- pos = 0x10;
- break;
- case 5:
- pos = 0x20;
- break;
- case 6:
- pos = 0x40;
- break;
- case 7:
- pos = 0x80;
- break;
- default:
- break;
- }
- }
- OLED_Set_Pos(x0,y);
- OLED_WR_Byte(pos,1);
- }
复制代码 |