int main() { printf("X%iX\n", pxH = getexclp()); CPUinit(); while (1) { sleep(1000); printf("%i\n", CPUpoll()); } }
int main(void){ DisableDog(); EALLOW; int test = 0; int laggingValue = 0xFF; unsigned int value = 0; EALLOW; CPUinit(); EALLOW; DINT; outputEnable(); initADC(); EALLOW; outputEnable(); //having issues when not enabling twice SRAMwrite(0); SRAMaddress = 0x260000; //DAC_init(); DAC_init(); timerINIT(); EALLOW; int oldvalue = 0; while(1){ // SRAMaddress = 0x2FFFFF; // *SRAMaddress = 0x77; if(a == 1){ //cross your fingers folks value = keypadScan(); *outputPORT = value; if(value < 0xF && value != 1 && oldvalue != value){ FreqSet(value); //setting the frequency based upon keypad input oldvalue = value; } } } EALLOW; return 0; }
int main(int argc, char *argv[]) { CPU *cpu; prg = load_file(argv[1]); cpu = CPUsimple_template((CPUaddr) (prg->data - prg->memstart), (CPUaddr) (prg->memstart + prg->memsize - 60000), 0); fill_template(cpu); CPUinit(cpu); CPUrun(); return 0; }
int main(void) { DisableDog(); CPUinit(); EALLOW; outputEnable(); LCDinit(); LCDclear(); initADC(); DAC_init(); // SRAMwrite(0); // SRAMaddress = 0x260000; //shouldn't need SRAM here fft_init(); initBuffers(); timerINIT(ISRvalue, samplingRate); while(1){ if(sampleBufferFull){ fft.InBuf = &sampleBuffer[0]; int i; for(i = 0;i<FFT_SIZE;i++){ outBuffer[i] = 0; } for(i=0;i<FFT_SIZE/2;i++){ MagBuffer[i] = 0; } RFFT_f32(&fft); //fft.MagBuf = &sampleBuffer[0]; RFFT_f32_mag(&fft); sampleBufferFull = 0; EINT; } else{ //do nothing } } return 0; }
int main(void) { DisableDog(); CPUinit(); EALLOW; outputEnable(); LCDinit(); LCDclear(); initADC(); DAC_init(); init_buffer(); timerINIT(ISRvalue, samplingRate); while(1){ } return 0; }
int main(void){ DisableDog(); EALLOW; unsigned int test = 0; int laggingValue = 0xFF; //unsigned int value = 0; EALLOW; CPUinit(); EALLOW; DINT; outputEnable(); initADC(); EALLOW; DAC_init(); EALLOW; outputEnable(); //having issues when not enabling twice EALLOW; timerINIT(); EALLOW; while(1){ } EALLOW; return 0; }
//начало основной программы void main(void) { CPUinit(); //инициализация системы PIT_init(); //инициализация PIT LCDinit_clear(); //нач инициализация и сброс ЖКИ // Вывод на ЖКИ начальной заставки lcd_pro_data('L', 0); lcd_tek_data('c'); lcd_tek_data('d'); lcd_tek_data('_'); lcd_tek_data('k'); lcd_tek_data('n'); lcd_tek_data('o'); lcd_tek_data('p'); lcd_tek_data('_'); lcd_tek_data('p'); lcd_tek_data('_'); lcd_tek_data('S'); lcd_tek_data('R'); lcd_tek_data('A'); lcd_tek_data('M'); //начало основного цикла for (;;) { if (flagn_kn1==1) // нажималась ли кнопка 1 { flagn_kn1=0; //да, сбросить флаг нажатия //смена состояния выхода светодиода LED1 if (led1_old_state==OFF) { AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED1); // зажечь сетодиод 1 led1_old_state=ON; } else { AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED1); // погасить светодиод 1 led1_old_state=OFF; } // Вывод на ЖКИ заставки - слова "Привет!" lcd_pro_data(rus_P, 64); lcd_tek_data('p'); lcd_tek_data(rus_i); lcd_tek_data(rus_v); lcd_tek_data('e'); lcd_tek_data(rus_t); lcd_tek_data('!'); } if (flagn_kn2==1) // нажималась ли кнопка 2 { flagn_kn2=0; //да, сбросить флаг нажатия //смена состояния выхода светодиода LED2 if (led2_old_state==OFF) { AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED2); // зажечь сетодиод 2 led2_old_state=ON; } else { AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED2); // погасить светодиод 2 led2_old_state=OFF; } // Вывод на ЖКИ слова "Privet!" lcd_pro_data('P', 72); lcd_tek_data('r'); lcd_tek_data('i'); lcd_tek_data('v'); lcd_tek_data('e'); lcd_tek_data('t'); lcd_tek_data('!'); } if (flagn_kn3==1) // нажималась ли кнопка 3 { flagn_kn3=0; //да, сбросить флаг нажатия //смена состояния выхода светодиода LED3 if (led3_old_state==OFF) { AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED3); // зажечь сетодиод 3 led3_old_state=ON; } else { AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED3); // погасить светодиод 3 led3_old_state=OFF; } lcd_clear(); //очистка ЖКИ } if (flagn_kn4==1) // нажималась ли кнопка 4 { flagn_kn4=0; //да, сбросить флаг нажатия //смена состояния выхода светодиода LED4 if (led4_old_state==OFF) { AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED4); // зажечь сетодиод 4 led4_old_state=ON; } else { AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED4); // погасить светодиод 4 led4_old_state=OFF; } lcd_init(); //инициализация ЖКИ } } }
//начало основной программы void main(void) { CPUinit(); //инициализация системы timer_init(); //инициализация таймеров-счетчиков LCDinit_clear(); //нач инициализация и сброс ЖКИ InitUSART0(115200); //инициализация USART0 со скоростью обмена 115200 кбит/с // Вывод на ЖКИ начальной заставки lcd_pro_data('U', 0); lcd_tek_data('S'); lcd_tek_data('A'); lcd_tek_data('R'); lcd_tek_data('T'); lcd_tek_data('_'); lcd_tek_data('F'); lcd_tek_data('L'); lcd_tek_data('A'); lcd_tek_data('S'); lcd_tek_data('H'); //начало основного цикла for (;;) { if (flagn_kn1==1) // нажималась ли кнопка 1 { flagn_kn1=0; //да, сбросить флаг нажатия //смена состояния выхода светодиода LED1 if (led1_old_state==OFF) { AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED1); // зажечь сетодиод 1 led1_old_state=ON; } else { AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED1); // погасить светодиод 1 led1_old_state=OFF; } //выбор значения для передачи в USART ch0++; if (ch0 == 'z') ch0 = '!'; lcd_pro_data(ch0, 64); //индикация символа, подлежащего передаче } if (flagn_kn2==1) // нажималась ли кнопка 2 { flagn_kn2=0; //да, сбросить флаг нажатия //смена состояния выхода светодиода LED2 if (led2_old_state==OFF) { AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED2); // зажечь сетодиод 2 led2_old_state=ON; } else { AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED2); // погасить светодиод 2 led2_old_state=OFF; } write_char_USART0(ch0); //передача символа через USART0 lcd_pro_data(ch0, 66); //индикация переданного символа } if (flagn_kn3==1) // нажималась ли кнопка 3 { flagn_kn3=0; //да, сбросить флаг нажатия //смена состояния выхода светодиода LED3 if (led3_old_state==OFF) { AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED3); // зажечь сетодиод 3 led3_old_state=ON; } else { AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED3); // погасить светодиод 3 led3_old_state=OFF; } write_str_USART0(stroka); //передача в USART0 строки данных //индикация переданной строки U8 i = 0x0; while(stroka[i] != '\0') { lcd_pro_data(stroka[i], 68+i); //индикация переданного символа строки i++; } } if (flagn_kn4==1) // нажималась ли кнопка 4 { flagn_kn4=0; //да, сбросить флаг нажатия //смена состояния выхода светодиода LED4 if (led4_old_state==OFF) { AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED4); // зажечь сетодиод 4 led4_old_state=ON; } else { AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED4); // погасить светодиод 4 led4_old_state=OFF; } lcd_clear(); //очистка ЖКИ } } }
int main(void){ int inputlength; int tokcount; int i; char input[1024]; char previnput[1024]; char *functok; char *emptytok; char *parameter[4]; //should never have more than 3 elements used, but what the hey - let's make it 4! char delim[] = " \t"; CPUinit(); ST_stringTableInit(); //initialize the array of break points first off for (i = 0; i < 4; i++){ bpoints[i] = -1; } printf("\n--> "); while (fgets(input, 1023, stdin) ){ if (input[0] == '\n'){ //if user enters blank line, re-execute the previous command. //make the previous command also equal to the previous command (ie don't change it) strcpy(input, previnput); } else{ //if the user entered input, fix it up: //remove the carridge return from the end of the string. input[strlen(input)-1] = '\0'; //get rid of any spaces or tabs at the end of the string. inputlength = strlen(input); while(((input[inputlength-1] == ' ') || (input[inputlength-1] == '\t')) && (inputlength > 0)){ input[inputlength-1] = '\0'; inputlength--; } strcpy(previnput, input); //copy the current command into the previous command //for possible use next time. } //there will be at most 4 input parameters entered by the user: setmem <addr> <b/w> <data> //so strtok will be used 5 times on the input string. The first 4 tokens created will/may //contain parameters, but the 5th one should always be empty. If the 5th one isn't empty, //the user has entered too many parameters, and should be shot. Depending on the function //being called, the user may not enter all 4 parameters -- some functions only require 2 //or 3 tokens. The parameters may be separated by tabs or spaces. functok = strtok(input, delim); //specifies which function to call parameter[0] = strtok(NULL, delim); //parameter #1 ie address parameter[1] = strtok(NULL, delim); //parameter #2 ie byte/word parameter[2] = strtok(NULL, delim); //parameter #3 ie newvalue emptytok = strtok(NULL, delim); //should always be empty. if not, error!! //valid input only it emptytok is empty, and functok is not empty. //is possible that only functok has value if it is a "help" call... if ((emptytok == NULL) && (functok !=NULL)){ //change all gathered input to all small letters MS_stringtolower(functok); tokcount = 0; if (parameter[0] != NULL){ MS_stringtolower(parameter[0]); tokcount ++; } if (parameter[1] != NULL){ MS_stringtolower(parameter[1]); tokcount ++; } if (parameter[2] != NULL){ MS_stringtolower(parameter[2]); tokcount ++; } // determine which function to call if ((!strcmp(functok, "setmem")) || (!strcmp(functok, "sm"))){ UI_setMem(parameter, tokcount); } else if ((!strcmp(functok, "readmem")) || (!strcmp(functok, "rm"))){ UI_readMem(parameter, tokcount); } else if ((!strcmp(functok, "setreg")) || (!strcmp(functok, "sr"))){ UI_setReg(parameter, tokcount); } else if ((!strcmp(functok, "readreg")) || (!strcmp(functok, "rr"))){ UI_readReg(parameter, tokcount); } else if (!strcmp(functok, "run")){ //if they are too lazy to type run, then they shouldn't be using our simulator UI_run(parameter, tokcount); } else if ((!strcmp(functok, "loadmem")) || (!strcmp(functok, "load")) || (!strcmp(functok, "lm"))){ UI_loadMem(parameter, tokcount); } else if ((!strcmp(functok, "trace")) || (!strcmp(functok, "tr"))){ UI_trace(tokcount); } else if ((!strcmp(functok, "list")) || (!strcmp(functok, "li"))){ UI_list(parameter, tokcount); } else if ((!strcmp(functok, "pcreset")) || (!strcmp(functok, "pcr"))){ UI_pcReset(tokcount); } else if ((!strcmp(functok, "next")) || (!strcmp(functok, "nx"))){ UI_next(tokcount); } else if ((!strcmp(functok, "setbreak")) || (!strcmp(functok, "sb"))){ UI_setBreak(parameter, tokcount); } else if ((!strcmp(functok, "clrbreak")) || (!strcmp(functok, "cb"))){ UI_clrBreak(parameter, tokcount); } else if ((!strcmp(functok, "setflag")) || (!strcmp(functok, "setflg")) || (!strcmp(functok, "sf"))){ UI_setFlg(parameter, tokcount); } else if ((!strcmp(functok, "memdump")) || (!strcmp(functok, "md"))){ UI_memDump(parameter, tokcount); } else if ((!strcmp(functok, "help")) || (!strcmp(functok, "?"))){ UI_help(parameter, tokcount); } else if ((!strcmp(functok, "quit")) || (!strcmp(functok, "exit"))){ CPUhalt(); printf("Exiting.\n"); return 0; } else{ printf("Not a valid command name.\n"); } } else if (emptytok != NULL){ printf("Too many parameters buddy. Try again.\n"); } printf("\n--> "); }//end outermost while printf("Exiting.\n"); return 0; }
int sysmon_init(void) { waketime = getlastwaketime(); return CPUinit(); }