kohacraft Lab
/
kc_tv_hack
tv hack http://kohacraft.com/archives/1037090651.html
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include "MCP4922.h" 00003 DigitalOut myled(LED1); 00004 MCP4922 ad(0, dp9, dp4); //spiチャンネル1 /CS /LAT 00005 00006 // x,y = -1〜+1 をADのフルレンジへ変換し出力する 00007 void outAd( float x , float y ) 00008 { 00009 int xtemp , ytemp; 00010 xtemp = (int)(2048.0 * x + 2047.0); 00011 if( xtemp < 0 ) 00012 xtemp = 0; 00013 if( xtemp > 4095 ) 00014 xtemp = 4095; 00015 00016 ytemp = (int)(2048.0 * y + 2047.0); 00017 if( ytemp < 0 ) 00018 ytemp = 0; 00019 if( ytemp > 4095 ) 00020 ytemp = 4095; 00021 00022 ad.select(0); 00023 ad.write( xtemp ); 00024 ad.select(1); 00025 ad.write( ytemp ); 00026 ad.update(); 00027 } 00028 00029 int main() { 00030 00031 ad.autoUpdate = 0; //しない 00032 ad.VrefA = 3300; //Vrefの電圧 00033 ad.VrefB = 3300; //Vrefの電圧 00034 ad.select(0); 00035 ad.buffered = 1; //Vrefのアンプ有効化 00036 ad.setGain(1); //出力ゲインx1 00037 ad.select(1); 00038 ad.buffered = 1; //Vrefのアンプ有効化 00039 ad.setGain(1); //出力ゲインx1 00040 00041 float pi = 3.141592653589793238462; 00042 00043 while(1) { 00044 00045 for( float y=-1.0 ; y<=1 ; y+=1.0/60 ) 00046 00047 for( float x=-1.0 ; x<=1 ; x+=1.0/60 ) 00048 { 00049 00050 00051 outAd( x, y ); 00052 } 00053 00054 } 00055 }
Generated on Thu Aug 4 2022 08:56:05 by 1.7.2