コード例 #1
0
ファイル: radio.c プロジェクト: JavaWantaBe/MikroCLibs
static void radio_bus_init()
{
    status = RF_IDLE;

    SPI2_Init_Advanced( _SPI_FPCLK_DIV64, _SPI_MASTER | _SPI_8_BIT
                        | _SPI_CLK_IDLE_LOW | _SPI_FIRST_CLK_EDGE_TRANSITION
                        | _SPI_MSB_FIRST | _SPI_SS_DISABLE | _SPI_SSM_ENABLE
                        | _SPI_SSI_1, &_GPIO_MODULE_SPI2_PB13_14_15 );

    GPIO_Digital_Output( &GPIOG_BASE, _GPIO_PINMASK_12 | _GPIO_PINMASK_9 );
    GPIO_Digital_Input( &GPIOG_BASE, _GPIO_PINMASK_10 );  // Set input for IRQ

    // Enable clock for alternate pin functions
    RCC_APB2ENR |= ( 1 << RCC_APB2ENR );  //SYSCFGEN_bit = 1;

    // Map external interrupt on PG10
    SYSCFG_EXTICR3 |= ( 1 << EXTI81 ) | ( 1 << EXTI82 );

    EXTI_RTSR &= ~( 1 << TR10 );     // Set interrupt on Rising edge (none)

    EXTI_FTSR |= ( 1 << TR10 );      // Set Interrupt on Falling edge (PG10)

    EXTI_IMR |= ( 1 << MR10 );       // Set mask

    NVIC_IntEnable( IVT_INT_EXTI15_10 );   // Enable External interrupt

    bus_initialized = true;
    // Note: Radio - By default all IRQ sources are enabled.
}
コード例 #2
0
ファイル: uart.c プロジェクト: azermert/pto38team
bool init_UART(UART_DESC * _urt, u8 _usartNumber){

	USART_InitTypeDef USART_InitStruct;
	_urt->usart_No = _usartNumber;
	
	USART_StructInit(&USART_InitStruct);	 	//8bit, parity_none, stopbit_1 ..

	switch(_urt->usart_No){
		case 2:
			USART_InitStruct.USART_BaudRate = 115200;
			RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
			_urt->usartBase = (USART_TypeDef*)USART2_BASE;
			uartRegister[2] = _urt;
			break;
		default:
			return FALSE;	
	}

	USART_DeInit(_urt->usartBase);
	USART_Init(_urt->usartBase, &USART_InitStruct);

	init_Comm(&_urt->parent);

	_urt->Tick = _urt->parent.Tick;
	_urt->parent.Tick = &UART_Tick;

	USART_ITConfig(_urt->usartBase, USART_IT_RXNE, ENABLE);
	NVIC_IntEnable(USART2_IRQn,0x02);

	initHW_UART(_urt);
	USART_Cmd(_urt->usartBase, ENABLE);

	return TRUE;
}
コード例 #3
0
/**************************************************************************************************
* Init MCU
**************************************************************************************************/
void Init_MCU() {

  // Set PORTB8/7 to Open Drain output mode
  GPIO_Config(&GPIOB_BASE, _GPIO_PINMASK_8, _GPIO_CFG_SPEED_50MHZ | _GPIO_CFG_OTYPE_OD | _GPIO_CFG_MODE_OUTPUT);
  GPIO_Config(&GPIOB_BASE, _GPIO_PINMASK_7, _GPIO_CFG_SPEED_50MHZ | _GPIO_CFG_OTYPE_OD | _GPIO_CFG_MODE_OUTPUT);

  GPIO_Digital_Output(&GPIOD_ODR, _GPIO_PINMASK_12);                            // LED GREEN
  GPIO_Digital_Output(&GPIOD_ODR, _GPIO_PINMASK_13);                            // LED ORANGE
  GPIO_Digital_Output(&GPIOD_ODR, _GPIO_PINMASK_14);                            // LED RED
  GPIO_Digital_Output(&GPIOD_BASE, _GPIO_PINMASK_15);                           // LED BLUE
  GPIO_Digital_Output(&GPIOC_ODR, _GPIO_PINMASK_5);                             // RF_STB
  GPIO_Digital_Output(&GPIOE_ODR, _GPIO_PINMASK_4);                             // RF_RST
  GPIO_Digital_Output(&GPIOA_IDR, _GPIO_PINMASK_0);                             // Button

  GPIO_Alternate_Function_Enable(&_GPIO_MODULE_USART2_PA23);
  UART2_Init_Advanced(19200, _UART_8_BIT_DATA, _UART_NOPARITY, _UART_ONE_STOPBIT, &_GPIO_MODULE_USART2_PA23);
  //****************************************************************************
/*UART3_Init_Advanced(9600, _UART_8_BIT_DATA, _UART_NOPARITY, _UART_ONE_STOPBIT, &_GPIO_MODULE_USART3_PB10_11);
  Delay_ms(100);
  USART3_CR1bits.RXNEIE = 1;       // enable uart rx interrupt
  NVIC_IntEnable(IVT_INT_USART3);  // enable interrupt vector
  Delay_ms(100);                        // Wait for UART module to stabilize*/
  //****************************************************************************
  UART6_Init_Advanced(19200, _UART_8_BIT_DATA, _UART_NOPARITY, _UART_ONE_STOPBIT, &_GPIO_MODULE_USART6_PC67 );
  Delay_ms(100);
  
  // Enable Usart Receiver interrupt:
  USART6_CR1bits.RXNEIE = 1;         // enable uart rx interrupt
  NVIC_IntEnable(IVT_INT_USART6);    // enable interrupt vector
  Enableinterrupts();
}
コード例 #4
0
static void init_timer2()
{
    RCC_APB1ENR.TIM2EN = 1;
    TIM2_CR1.CEN = 0;
    TIM2_PSC = 239;  // 100ms
    TIM2_ARR = 62499;
    NVIC_IntEnable( IVT_INT_TIM2 );
    TIM2_DIER.UIE = 1;
    TIM2_CR1.CEN = 1;
}
コード例 #5
0
ファイル: main.c プロジェクト: MikroElektronika/MCU_Benchmark
void timer_setup()
{
  RCC_APB1ENR.TIM2EN = 1;
  TIM2_CR1.CEN = 0;
  TIM2_PSC = 24;
  TIM2_ARR = 55999;
  NVIC_IntEnable(IVT_INT_TIM2);
  TIM2_DIER.UIE = 1;
  TIM2_CR1.CEN = 1;
}
コード例 #6
0
//Timer2 Prescaler :599; Preload = 62499; Actual Interrupt Time = 50 ms
void init_timer2()
{
    RCC_APB1ENR.TIM2EN = 1;
    TIM2_CR1.CEN = 0;
    TIM2_PSC = 19;
    TIM2_ARR = 59999;
    NVIC_IntEnable(IVT_INT_TIM2);
    TIM2_DIER.UIE = 1;
    TIM2_CR1.CEN = 1;
}
コード例 #7
0
ファイル: uart.c プロジェクト: azermert/pto38team
void UART_init(PTO_UART_InitTypeDef * _desc)
{
	USART_InitTypeDef USART_InitStruct;

	urt=*_desc;

	USART_StructInit(&USART_InitStruct);	 	//8bit, parity_none, stopbit_1 ..

	USART_InitStruct.USART_BaudRate = _desc->baudrate;
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);


	USART_DeInit(USART2);
	USART_Init(USART2, &USART_InitStruct);

	USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
	NVIC_IntEnable(USART2_IRQn,0x02);

	initHW_UART();
	USART_Cmd(USART2, ENABLE);
}
コード例 #8
0
/*
 * System initialization
 *
 * This function initializes the system
 */
static int system_init()
{
    DisableInterrupts();
    GPIO_Digital_Input( &PTB_PDOR, _GPIO_PINMASK_13 );

    I2C0_Init_Advanced(400000, &_GPIO_Module_I2C0_PD8_9);
    Delay_ms( 100 );
    
    // Initialize APDS-9960 (configure I2C and initial values)
    ir_gesture_init( APDS9960_I2C_ADDR );
    ir_gesture_enable_gesture_sensor( true );
    
    // Initialize screen
    OLED_Init();
    OLED_DrawImage( irgesture_bmp, 0, 0 );
    OLED_SetFont( guiFont_Tahoma_8_Regular, OLED_COLOR_WHITE, 0 );

    PORTB_PCR13bits.IRQC = 0xB;
    NVIC_IntEnable( IVT_INT_PORTB );
    EnableInterrupts();

    return 0;
}
コード例 #9
0
void Timer2_On(){
  NVIC_IntEnable(IVT_INT_TIM2);
  TIM2_DIER.UIE = 1;
  TIM2_CR1.CEN = 1;
}