int
DeviceCharacterBufferedUsart0::implPortInit(void)
{
  setPortAddress(&AVR32_USART0);

  gpio_enable_module_pin(OS_CFGPIN_DEVICECHARACTERBUFFEREDUSART0_RX_PIN,
      OS_CFGINT_DEVICECHARACTERBUFFEREDUSART0_GPIO_FUNCTION);
  gpio_enable_module_pin(OS_CFGPIN_DEVICECHARACTERBUFFEREDUSART0_TX_PIN,
      OS_CFGINT_DEVICECHARACTERBUFFEREDUSART0_GPIO_FUNCTION);

  usart_options_t usartConfig;
#if defined(OS_INCLUDE_OSDEVICECHARACTER_SETBAUDRATE)
  if(m_baudRate == 0)
    m_baudRate = OS_CFGINT_DEVICECHARACTERBUFFEREDUSART0_BAUD_RATE;
  usartConfig.baudrate =m_baudRate;
#else
  usartConfig.baudrate = OS_CFGINT_DEVICECHARACTERBUFFEREDUSART0_BAUD_RATE;
#endif  /* defined(OS_INCLUDE_OSDEVICECHARACTER_SETBAUDRATE) */
  usartConfig.channelmode = USART_NORMAL_CHMODE;
  usartConfig.charlength = 8;
  usartConfig.paritytype = USART_NO_PARITY;
  usartConfig.stopbits = USART_1_STOPBIT;

  usart_init_rs232(&AVR32_USART0, &usartConfig, OS_CFGLONG_PBA_FREQUENCY_HZ);

  INTC_register_interrupt(DeviceCharacterBufferedUsart0::contextHandler,
      AVR32_USART0_IRQ, OS_CFGINT_DEVICECHARACTERBUFFEREDUSART0_IRQ_PRIORITY);

  // Enable the RX interrupt
  AVR32_USART0.ier = AVR32_USART_IER_RXRDY_MASK;

  // Do not enable TX interrupts

  return 0;
}
Ejemplo n.º 2
0
void DigitalPin::PortBitConfig(uint32_t pinName)
{
	port = pinName / MAXNUMPIN;
	bit = pinName % MAXNUMPIN;

	setPortAddress(port);

	address->DIR |= (0x1<<bit);  //set as output port

	//configure pins which are not configured GPIO as default
	if(pinName==PIO0_0){
		LPC_IOCON->RESET_PIO0_0 = 0xD1;		//GPIO, Pull-up
	}else if(pinName==PIO0_10){
		LPC_IOCON->SWCLK_PIO0_10 = 0xD1;	//GPIO, Pull-up
	}else if(pinName==PIO0_11){
		LPC_IOCON->R_PIO0_11 = 0xD1;		//GPIO, Pull-up
	}else if(pinName==PIO1_0){
		LPC_IOCON->R_PIO1_0 = 0xD1;			//GPIO, Pull-up
	}else if(pinName==PIO1_1){
		LPC_IOCON->R_PIO1_1 = 0xD1;			//GPIO, Pull-up
	}else if(pinName==PIO1_2){
		LPC_IOCON->R_PIO1_2 = 0xD1;			//GPIO, Pull-up
	}else if(pinName==PIO1_3){
		LPC_IOCON->SWDIO_PIO1_3 = 0xD1;		//GPIO, Pull-up
	}
}
Ejemplo n.º 3
0
Sampler::Sampler( Sampler & input )
{
  setPortAddress( input.PortAddress() );
  setNumPoints( input.NumPoints() );
  setNumTriggerPoints( input.NumTriggerPoints() );
  setTriggerLevel( input.TriggerLevel() );
  setTimeOut( input.TimeOut() );
  setSampleMethod( input.SampleMethod() );
  setInterval( input.Interval() );
}
Ejemplo n.º 4
0
Sampler & Sampler::operator = ( Sampler & input )
{
  if( this == &input )
  {
    setPortAddress( input.PortAddress() );
    setNumPoints( input.NumPoints() );
    setNumTriggerPoints( input.NumTriggerPoints() );
    setTriggerLevel( input.TriggerLevel() );
    setTimeOut( input.TimeOut() );
    setSampleMethod( input.SampleMethod() );
    setInterval( input.Interval() );
  }
  return *this;
}