Exemple #1
0
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;
}
Exemple #2
0
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;
}
Exemple #3
0
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;
}
Exemple #4
0
/*----------------------------------------------------------------------------
  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);
}