int main(void){ uint16_t v0,v1,v2; double t0,t1,t2; char t_chr[7]; memset(t_chr, '\0', sizeof(t_chr)); USART_init(MYUBRR); /* Remove garbage from serial terminal */ USART_transmit('\r'); ADC_init(); PWM_init(); while(1){ v0 = ADC_read(0); /* read from ADC0 */ v1 = ADC_read(1); /* read from ADC0 */ v2 = ADC_read(2); /* read from ADC0 */ t0 = v0 / 4; t1 = v1 / 4; t2 = v2 / 4; dtostrf(t0, 5, 1, t_chr); USART_write("0: "); USART_write(t_chr); USART_write("\r\n"); dtostrf(t1, 5, 1, t_chr); USART_write("1: "); USART_write(t_chr); USART_write("\r\n"); dtostrf(t2, 5, 1, t_chr); USART_write("2: "); USART_write(t_chr); USART_write("\r\n"); OCR0A = t0; OCR0B = t1; OCR2A = t2; _delay_ms(500); } return 1; }
int main(void){ char t_chr[7]; uint32_t v=0; memset(t_chr, '\0', sizeof(t_chr)); USART_init(MYUBRR); /* Remove garbage from serial terminal */ USART_transmit('\r'); ADC_init(); PWM16_init(); while(1){ v = ADC_read(0); snprintf(t_chr,sizeof(t_chr),"%u",v); USART_write(t_chr); USART_transmit(' '); v = (v * 180) / 1024; snprintf(t_chr,sizeof(t_chr),"%u",v); USART_write(t_chr); USART_transmit('\n'); USART_transmit('\r'); OCR1A = OCR_MIN + v * ONE_DEGREE; snprintf(t_chr,sizeof(t_chr),"%u",OCR1A); USART_write(t_chr); USART_transmit('\n'); USART_transmit('\r'); _delay_ms(500); } return 1; }
int main(void){ char t_chr[7]; uint32_t v=0, v_old = 0; memset(t_chr, '\0', sizeof(t_chr)); USART_init(MYUBRR); /* Remove garbage from serial terminal */ USART_transmit('\r'); ADC_init(); PWM16_init(); while(1){ v = ADC_read(0); if (v_old != v) { v_old = v; snprintf(t_chr,sizeof(t_chr),"%u",v); USART_write(t_chr); USART_transmit(' '); OCR1A = CYCLE_LENGTH_MIN - ONE_UNIT * v; OCR1B = OCR1A/2; snprintf(t_chr,sizeof(t_chr),"%u",OCR1A); USART_write(t_chr); USART_transmit('\n'); USART_transmit('\r'); _delay_ms(500); } } return 1; }
/*---------------------------------------------------------------------------- Reads character from USB buffer and writes to serial port buffer *---------------------------------------------------------------------------*/ void VCOM_Usb2Serial(void) { static char serBuf [32]; int numBytesToRead, numBytesRead, numAvailByte; CDC_OutBufAvailChar (&numAvailByte); if (numAvailByte > 0) { numBytesToRead = numAvailByte > 32 ? 32 : numAvailByte; numBytesRead = CDC_RdOutBuf (&serBuf[0], &numBytesToRead); //ser_Write (&serBuf[0], &numBytesRead); numBytesToRead = numBytesRead; for (numBytesRead = 0; numBytesRead < numBytesToRead; numBytesRead++) USART_write(&usart, serBuf[numBytesRead]); } }
size_t USARTSerial::write(const uint8_t w) { return USART_write(port, w); }