void main(void) { uart_init(LOG_PORT, BAUD_CALC(115200)); uart_init(COMMAND_PORT, BAUD_CALC(115200)); sei(); int i = -255; char c; //write_motors(COMMAND_PORT, 200, 200); // go(240, 240); // go(5, 10); // _delay_ms(1000); // go(-200, -200); while (1) { go (127, 127); // i++; // go(i, i); // if (i >= 255) // i = -255; // _delay_ms(20); } }
int main(void) { /*init all the things*/ motors_init(PHASE_CORRECT, PRESCALE_8); uart_init(BAUD_CALC(9600)); sei(); adc_init(); wdt_init(WDTO_500MS); /********************/ go(0, 0); uart_putc(ACK); over_current_a = 0; over_current_b = 0; while (1) { current_a = analog_read(C_SENS_A); current_b = analog_read(C_SENS_B); req_t = get_request_type(); if (req_t == CURRENT_REQ) { write_current(current_a, current_b); } else if (req_t == MOTORS_SET) { read_motors(&speed_a, &speed_b); wdt_reset(); } //manage current sens #ifdef CURRENT_LIMIT if ((current_a < CURRENT_LIMIT) && (current_b < CURRENT_LIMIT)) { go(speed_a, speed_b); over_current_a = over_current_b = 0; } else { //overcurrent go(0, 0); uart_putc('!'); over_current_a = current_a - CURRENT_LIMIT; over_current_b = current_b - CURRENT_LIMIT; } #endif } return (0); }
int main(void) { //BA //set_motors(PHASE_CORRECT, PRESCALE_8); uart_init(COMMAND_PORT, BAUD_CALC(57600)); sei(); int16_t speed = 30; int8_t crement = 1; while (1) { if ((speed >= MAXSPEED) || (speed <= MINSPEED)) { crement *= -1; } speed += crement; go(speed, speed); _delay_ms(5); } }
int main(void) { //uart_set_FrameFormat(USART_8BIT_DATA|USART_1STOP_BIT|USART_NO_PARITY|USART_ASYNC_MODE); // default settings uart_init(BAUD_CALC(115200)); // 8n1 transmission is set as default stdout = &uart0_io; // attach uart stream to stdout & stdin stdin = &uart0_io; // uart0_in if no TX and uart0_out if no RX (depends on config macros) sei(); // enable interrupts, library wouldn't work without this uart_puts("hello from usart 0\r\n"); // write const string to usart buffer // C++ restriction, in C its the same as uart_putstr() //uart_puts("hello world\r\n"); // write const string to usart buffer // C++ restriction, in C its the same as uart_putstr() // if you do not have enough SRAM memory space to keep all strings, try to use puts_P instead uart_puts_P("hello from flashed, usart\r\n"); // write string to usart buffer from flash memory // string is parsed by PSTR() macro _delay_ms(5000); uart_puts_p(foo_string); char buffer[25]; uart_gets(buffer, 25); // read at most 24 bytes from buffer (CR,LF will not be cut) int a; uart_puts("gimmie a number: "); a = uart_getint(); uart_puts("numba a: "); uart_putint(a); uart_puts("\r\n"); while(1) { uart_puts("bytes waiting in receiver buffer : "); uart_putint(uart_AvailableBytes()); // ask for bytes waiting in receiver buffer //uart_getsln(buffer, 25); // read 24 bytes or one line from usart buffer if (!strcmp(buffer, "people who annoy you")) { uart_putc('>'); _delay_ms(5000); uart_puts_P(" naggers"); } uart_puts("\r\n"); /* uart_putfloat(0.1337f); uart_puts("\r\n"); uart_putstr(buffer); // write array string to usart buffer uart_puts("\r\n"); printf("Say my name: "); scanf("%s", buffer); printf("So it's %s, You are damn' right.\n", buffer); _delay_ms(5000); */ } }