1. поиграйся "железными" настройками вбокса. 2. обнови дистру. 3. можь вбокс криво встал у тебя в выни: переустанови его иль попробуй другую версию. 4. https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/14_0
НЕ до жестянки я еще не добрался, какой дистриб из по win ставится из папки ? Не могу на болванку скинуть, нет болванки, купить пока нет возможности ? Мне кстате для опытов arduino DUE приехала, все ниче но сделано ужасно, Пины портов вразноброд, разрядность портов по даташиту(atsam3x8e) 6х32 в реальности 1х32 да и тот если dac не использовать, лучше брать нужный чип и делать плату самому, ....
вот код чтения ADC и вывод в DAC, почти то что нужно, осталось переделать на 1200 ЧД и вставить фильтры Код (C++): void setup() { Serial.begin (57600) ; // was for debugging adc_setup () ; // setup ADC pmc_enable_periph_clk (TC_INTERFACE_ID + 0*3+0) ; // clock the TC0 channel 0 TcChannel * t = &(TC0->TC_CHANNEL)[0] ; // pointer to TC0 registers for its channel 0 t->TC_CCR = TC_CCR_CLKDIS ; // disable internal clocking while setup regs t->TC_IDR = 0xFFFFFFFF ; // disable interrupts t->TC_SR ; // read int status reg to clear pending t->TC_CMR = TC_CMR_TCCLKS_TIMER_CLOCK1 | // use TCLK1 (prescale by 2, = 42MHz) TC_CMR_WAVE | // waveform mode TC_CMR_WAVSEL_UP_RC | // count-up PWM using RC as threshold TC_CMR_EEVT_XC0 | // Set external events from XC0 (this setup TIOB as output) TC_CMR_ACPA_CLEAR | TC_CMR_ACPC_CLEAR | TC_CMR_BCPB_CLEAR | TC_CMR_BCPC_CLEAR ; t->TC_RC = 875 ; // counter resets on RC, so sets period in terms of 42MHz clock t->TC_RA = 440 ; // roughly square wave t->TC_CMR = (t->TC_CMR & 0xFFF0FFFF) | TC_CMR_ACPA_CLEAR | TC_CMR_ACPC_SET ; // set clear and set from RA and RC compares t->TC_CCR = TC_CCR_CLKEN | TC_CCR_SWTRG ; // re-enable local clocking and switch to hardware trigger source. setup_pio_TIOA0 () ; // drive Arduino pin 2 at 48kHz to bring clock out dac_setup () ; // setup up DAC auto-triggered at 48kHz REG_PIOC_OER = 0x1 <<22; //Порт С 22 пин на выход REG_PIOB_OER = 0x1 <<27; //Порт B 27 пин на выход } void setup_pio_TIOA0 () // Configure Ard pin 2 as output from TC0 channel A (copy of trigger event) { PIOB->PIO_PDR = PIO_PB25B_TIOA0 ; // disable PIO control PIOB->PIO_IDR = PIO_PB25B_TIOA0 ; // disable PIO interrupts PIOB->PIO_ABSR |= PIO_PB25B_TIOA0 ; // switch to B peripheral } void dac_setup () { pmc_enable_periph_clk (DACC_INTERFACE_ID) ; // start clocking DAC DACC->DACC_CR = DACC_CR_SWRST ; // reset DAC DACC->DACC_MR = DACC_MR_TRGEN_EN | DACC_MR_TRGSEL (1) | // trigger 1 = TIO output of TC0 (0 << DACC_MR_USER_SEL_Pos) | // select channel 0 DACC_MR_REFRESH (0x0F) | // bit of a guess... I'm assuming refresh not needed at 48kHz (24 << DACC_MR_STARTUP_Pos) ; // 24 = 1536 cycles which I think is in range 23..45us since DAC clock = 42MHz DACC->DACC_IDR = 0xFFFFFFFF ; // no interrupts DACC->DACC_CHER = DACC_CHER_CH0 << 0 ; // enable chan0 } void dac_write (int val) { DACC->DACC_CDR = val & 0xFFF ; } void adc_setup () { NVIC_EnableIRQ (ADC_IRQn) ; // enable ADC interrupt vector ADC->ADC_IDR = 0xFFFFFFFF ; // disable interrupts ADC->ADC_IER = 0x80 ; // enable AD7 End-Of-Conv interrupt (Arduino pin A0) ADC->ADC_CHDR = 0xFFFF ; // disable all channels ADC->ADC_CHER = 0x80 ; // enable just A0 ADC->ADC_CGR = 0x15555555 ; // All gains set to x1 ADC->ADC_COR = 0x00000000 ; // All offsets off ADC->ADC_MR = (ADC->ADC_MR & 0xFFFFFFF0) | (1 << 1) | ADC_MR_TRGEN ; // 1 = trig source TIO from TC0 } // Circular buffer, power of two. #define BUFSIZE 0x400 #define BUFMASK 0x3FF volatile int samples [BUFSIZE] ; volatile int sptr = 0 ; volatile int isr_count = 0 ; // this was for debugging #ifdef __cplusplus extern "C" { #endif void ADC_Handler (void) { if (ADC->ADC_ISR & ADC_ISR_EOC7) // ensure there was an End-of-Conversion and we read the ISR reg { int val = *(ADC->ADC_CDR+7) ; // get conversion result samples [sptr] = val ; // stick in circular buffer sptr = (sptr+1) & BUFMASK ; // move pointer dac_write (0xFFF & ~val) ; // copy inverted to DAC output FIFO } isr_count ++ ; } #ifdef __cplusplus } #endif void loop() { REG_PIOC_SODR = 0x1 << 22; //c22 = 8 pin REG_PIOB_CODR = 0x1 << 27; //b27=13 pin delay(1000); REG_PIOC_CODR = 0x1 << 22; //c22=8 pin REG_PIOB_SODR = 0x1 << 27; //b27 = 13 pin delay(1000); }
вообще, линь ставится очень легко.. 1. можешь сделать загрузочную флэху и загружаться с неё в лайв режиме. 1.1. можешь с этой же флэхи поставить на винт. 2. можешь отформатировать партицию mkfs.ext4 /dev/sd[a|b|c|..] и скопируй на эту партицию ранее установленный линь, затем /etc/fstab подправь и будет загружаться. 3. opensuse, сюзя, может ставиться из под выни.. за другие дистры не скажу, но скорей всего дэбя/убунтя/роса тоже.
Открыл SUSE, не нашел setup .exe, попробую скачать ubuntu, флешки нед у меня. У меня засада еще такая, wi-fi свисток d-link. На win 7, работает. Пароль вида хххх-хххх-хххх, на XP поставил драйвера, видит домашнюю сеть, просит ввести пароль, ввожу, а он зараза на него ругается, говорит что пароль может состоять только из строчных ..... и.т.д что делать пароль менять на роутере ?
запость содержимое исошки == странно как-то.. у сюзи наиболее развитый установщик из возможных. если в роутере отображается попытка подруба == можешь чрез веб-панель роутера разрешить сий подруб иль смотри кнопки на роутере -- там тоже могут быть команды для разрешения подруба с вафли.. иль пропиши мак адрес своей жестянки в роутере. а, ваще, да == лучше пароль сведи в совместимую форму.
Вот такой код для DUE ..., только я еще не пробовал, может и не работает Но компилится вроде ), ... Код (C++): #include <DueTimer.h> #define Ntap 31 #define DCgain 32768 int myLed = 13; int OutSample,I,Q,N,X1,X2,X3,Y1,Y2,Y3; float count=0; int led_flag=0; int cos_N[4]={1,0,-1,0}; int sin_N[4]={0,1,0,-1}; int sin_N_m[4]={0,-1,0,1}; bool ledOn = false; // Фильтр канала Q int fir_Q(int NewSample) { int FIRCoef[Ntap] = { -406, -207, 529, 240, -698, -274, 942, 308, -1317, -338, 1972, 363, -3441, -379, 10572, 17042, 10572, -379, -3441, 363, 1972, -338, -1317, 308, 942, -274, -698, 240, 529, -207, -406 }; static int x[Ntap]; //input samples long int y=0; //output sample int n; //shift the old samples for(n=Ntap-1; n>0; n--) x[n] = x[n-1]; //Calculate the new output x[0] = NewSample; for(n=0; n<Ntap; n++) y += FIRCoef[n] * x[n]; return y / DCgain; } // Фильтр канала I int fir_I(int NewSample) { int FIRCoef[Ntap] = { -406, -207, 529, 240, -698, -274, 942, 308, -1317, -338, 1972, 363, -3441, -379, 10572, 17042, 10572, -379, -3441, 363, 1972, -338, -1317, 308, 942, -274, -698, 240, 529, -207, -406 }; static int x[Ntap]; //input samples long int y=0; //output sample int n; //shift the old samples for(n=Ntap-1; n>0; n--) x[n] = x[n-1]; //Calculate the new output x[0] = NewSample; for(n=0; n<Ntap; n++) y += FIRCoef[n] * x[n]; return y / DCgain; } void myHandler(){ // обработчик прерывания по таймеру if (N==3) { N=0; } else N++; I=analogRead(A0); Q=analogRead(A1); X1=I*cos_N[N]+Q*sin_N[N]; X2=fir_I(X1); X3=X2*cos_N[N]; Y1=I*sin_N_m[N]+Q*cos_N[N]; Y2=fir_Q(Y1); Y3=Y2*sin_N_m[N]; OutSample=X3+Y3; OutSample=OutSample+512;// восстанавливаем однополярный сигнал analogWrite(DAC0, OutSample); } void setup(){ pinMode(myLed, OUTPUT); Timer3.attachInterrupt(myHandler); Timer3.start(1000000); // Calls every 50ms pinMode(DAC0, OUTPUT); pinMode(A0, INPUT); pinMode(A1, INPUT); } void loop(){ while(1){ // I'm stuck in here! help me... } }
Вот версия с 2 кГц, ЧД, ... Код (C++): #include <DueTimer.h> #define Ntap 31 #define DCgain 32768 int myLed = 13; int OutSample,I,Q,N,X1,X2,X3,Y1,Y2,Y3; float count=0; int led_flag=0; int cos_N[4]={1,0,-1,0}; int sin_N[4]={0,1,0,-1}; int sin_N_m[4]={0,-1,0,1}; bool ledOn = false; // Фильтр канала Q int fir_Q(int NewSample) { int FIRCoef[Ntap] = { -98, -92, 159, 143, -265, -220, 450, 335, -792, -490, 1469, 671, -3046, -827, 10313, 17347, 10313, -827, -3046, 671, 1469, -490, -792, 335, 450, -220, -265, 143, 159, -92, -98 }; static int x[Ntap]; //input samples long int y=0; //output sample int n; //shift the old samples for(n=Ntap-1; n>0; n--) x[n] = x[n-1]; //Calculate the new output x[0] = NewSample; for(n=0; n<Ntap; n++) y += FIRCoef[n] * x[n]; return y / DCgain; } // Фильтр канала I int fir_I(int NewSample) { int FIRCoef[Ntap] = { -98, -92, 159, 143, -265, -220, 450, 335, -792, -490, 1469, 671, -3046, -827, 10313, 17347, 10313, -827, -3046, 671, 1469, -490, -792, 335, 450, -220, -265, 143, 159, -92, -98 }; static int x[Ntap]; //input samples long int y=0; //output sample int n; //shift the old samples for(n=Ntap-1; n>0; n--) x[n] = x[n-1]; //Calculate the new output x[0] = NewSample; for(n=0; n<Ntap; n++) y += FIRCoef[n] * x[n]; return y / DCgain; } void myHandler(){ // обработчик прерывания по таймеру if (N==3) { N=0; } else N++; I=analogRead(A0); Q=analogRead(A1); X1=I*cos_N[N]+Q*sin_N[N]; X2=fir_I(X1); X3=X2*cos_N[N]; Y1=I*sin_N_m[N]+Q*cos_N[N]; Y2=fir_Q(Y1); Y3=Y2*sin_N_m[N]; OutSample=X3+Y3; OutSample=OutSample;// восстанавливаем однополярный сигнал analogWrite(DAC0, OutSample); } void setup(){ pinMode(myLed, OUTPUT); Timer3.attachInterrupt(myHandler); Timer3.start(500); // Calls every 50ms pinMode(DAC0, OUTPUT); pinMode(A0, INPUT); pinMode(A1, INPUT); REG_PIOC_OER = 0x1 <<22; REG_PIOB_OER = 0x1 <<27; analogWriteResolution(12); analogReadResolution(12); } void loop(){ while(1){ REG_PIOC_SODR = 0x1 << 22; //c22 = 8 pin REG_PIOB_CODR = 0x1 << 27; //b27=13 pin delay(1000); REG_PIOC_CODR = 0x1 << 22; //c22=8 pin REG_PIOB_SODR = 0x1 << 27; //b27 = 13 pin delay(1000); } }
Да не всё так просто, ситуация такая , у меня сейчас комп на win7, все ниче только он у меня с 2011 и еще немного и загнется, .... нашел я на замену старый комп а там ХР на селероне 2,4 512 Мб озу, и.т.д. вин ХР, и нет сетевой карты... На всякий перетащил туда нужные файлы, часть в облако закинул, ....