本文整理汇总了C++中IntPrioritySet函数的典型用法代码示例。如果您正苦于以下问题:C++ IntPrioritySet函数的具体用法?C++ IntPrioritySet怎么用?C++ IntPrioritySet使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了IntPrioritySet函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RtcInit
void RtcInit(void)
{
SysCtlPeripheralEnable( SYSCTL_PERIPH_TIMER0 );
TimerConfigure( TIMER0_BASE, TIMER_CFG_32_BIT_PER );
/* Ensure interrupts do not start until the scheduler is running. */
portDISABLE_INTERRUPTS();
/* The rate at which the timer will interrupt. */
TimerLoadSet( TIMER0_BASE, TIMER_A, configCPU_CLOCK_HZ );
IntPrioritySet( INT_TIMER0A, configKERNEL_INTERRUPT_PRIORITY );
IntEnable( INT_TIMER0A );
TimerIntEnable( TIMER0_BASE, TIMER_TIMA_TIMEOUT );
/* setup timer 1 for cpu usage statistic */
SysCtlPeripheralEnable( SYSCTL_PERIPH_TIMER1 );
TimerConfigure( TIMER1_BASE, TIMER_CFG_32_BIT_PER );
/* Just used to measure time. */
TimerLoadSet(TIMER1_BASE, TIMER_A, configCPU_CLOCK_HZ / 10000 ); /* sys tick = 1msec, so 100usec will be set */
IntPrioritySet( INT_TIMER1A, configMAX_SYSCALL_INTERRUPT_PRIORITY );
IntEnable( INT_TIMER1A );
TimerIntEnable( TIMER1_BASE, TIMER_TIMA_TIMEOUT );
timeval = 0;
timeoffset = 0;
ulHighFrequencyTimerTicks = 0;
/* Enable rtc timer. */
TimerEnable( TIMER0_BASE, TIMER_A );
TimerEnable( TIMER1_BASE, TIMER_A );
}
示例2: USBAINTCConfigure
static void USBAINTCConfigure(int usbInstance)
{
if(usbInstance)
{
/* Registering the Interrupt Service Routine(ISR). */
IntRegister(SYS_INT_USB1, USB1HostIntHandler);
/* Setting the priority for the system interrupt in AINTC. */
IntPrioritySet(SYS_INT_USB1, 0, AINTC_HOSTINT_ROUTE_IRQ);
/* Enabling the system interrupt in AINTC. */
IntSystemEnable(SYS_INT_USB1);
}
else
{
/* Registering the Interrupt Service Routine(ISR). */
IntRegister(SYS_INT_USB0, USB0HostIntHandler);
/* Setting the priority for the system interrupt in AINTC. */
IntPrioritySet(SYS_INT_USB0, 0, AINTC_HOSTINT_ROUTE_IRQ);
/* Enabling the system interrupt in AINTC. */
IntSystemEnable(SYS_INT_USB0);
}
}
示例3: McSPIAintcConfigure
/* Interrupt mapping to AINTC and registering McSPI ISR */
void McSPIAintcConfigure(unsigned char instance)
{
switch(instance)
{
case 0:
//IntProtectionDisable();
/* Register McSPIIsr interrupt handler */
IntRegister(SYS_INT_SPI0INT, McSPI0Isr);
/* Set Interrupt Priority */
IntPrioritySet(SYS_INT_SPI0INT, 0, AINTC_HOSTINT_ROUTE_IRQ);
/* Enable system interrupt in AINTC */
IntSystemEnable(SYS_INT_SPI0INT);
//IntProtectionEnable();
break;
case 1:
//IntProtectionDisable();
/* Register McSPIIsr interrupt handler */
IntRegister(SYS_INT_SPI1INT, McSPI1Isr);
/* Set Interrupt Priority */
IntPrioritySet(SYS_INT_SPI1INT, 0, AINTC_HOSTINT_ROUTE_IRQ);
/* Enable system interrupt in AINTC */
IntSystemEnable(SYS_INT_SPI1INT);
//IntProtectionEnable();
break;
}
}
示例4: _EDMAAppRegisterEdma3Interrupts
void _EDMAAppRegisterEdma3Interrupts()
{
/* Enable IRQ in CPSR. */
IntMasterIRQEnable();
/* Intialize ARM interrupt controller */
IntAINTCInit();
/* Register Interrupts Here */
/******************** Completion Interrupt ********************************/
/* Registers Edma3ComplHandler0 Isr in Interrupt Vector Table of AINTC. */
IntRegister(SYS_INT_EDMACOMPINT , _EDMAAppEdma3ccComplIsr);
/* Set priority for system interrupt in AINTC */
IntPrioritySet(SYS_INT_EDMACOMPINT, 0u, AINTC_HOSTINT_ROUTE_IRQ);
/* Enable the EDMA CC0 system interrupt in AINTC.*/
IntSystemEnable(SYS_INT_EDMACOMPINT);
/********************** CC Error Interrupt ********************************/
/*
** Registers the EDMA3_0 Channel Controller 0 Error Interrupt Isr in the
** Interrupt Vector Table of AINTC.
*/
IntRegister(SYS_INT_EDMAERRINT , _EDMAAppEdma3ccErrIsr);
/* Set priority for system interrupt in AINTC */
IntPrioritySet(SYS_INT_EDMAERRINT, 0u, AINTC_HOSTINT_ROUTE_IRQ);
/* Enable the EDMA CCERR system interrupt AINTC.*/
IntSystemEnable(SYS_INT_EDMAERRINT);
}
示例5: CPDMAAINTCConfigure
//
// \brief This function confiugres the AINTC to receive UART interrupts.
//
void CPDMAAINTCConfigure(int usbInstance)
{
if(usbInstance)
{
IntProtectionDisable();
/* Registering the Interrupt Service Routine(ISR). */
IntRegister(SYS_INT_USBSSINT, USB1HostIntHandler);
/* Setting the priority for the system interrupt in AINTC. */
IntPrioritySet(SYS_INT_USBSSINT, 0, AINTC_HOSTINT_ROUTE_IRQ);
/* Enabling the system interrupt in AINTC. */
IntSystemEnable(SYS_INT_USBSSINT);
IntProtectionEnable();
}
else
{
IntProtectionDisable();
/* Registering the Interrupt Service Routine(ISR). */
IntRegister(SYS_INT_USBSSINT, USB0HostIntHandler);
/* Setting the priority for the system interrupt in AINTC. */
IntPrioritySet(SYS_INT_USBSSINT, 0, AINTC_HOSTINT_ROUTE_IRQ);
/* Enabling the system interrupt in AINTC. */
IntSystemEnable(SYS_INT_USBSSINT);
IntProtectionEnable();
}
}
示例6: vInitialiseTimerForIntQueueTest
void vInitialiseTimerForIntQueueTest( void )
{
unsigned long ulFrequency;
/* Timer 2 and 3 are utilised for this test. */
SysCtlPeripheralEnable( SYSCTL_PERIPH_TIMER2 );
SysCtlPeripheralEnable( SYSCTL_PERIPH_TIMER3 );
TimerConfigure( TIMER2_BASE, TIMER_CFG_32_BIT_PER );
TimerConfigure( TIMER3_BASE, TIMER_CFG_32_BIT_PER );
/* Set the timer interrupts to be above the kernel. The interrupts are
assigned different priorities so they nest with each other. */
IntPrioritySet( INT_TIMER2A, configMAX_SYSCALL_INTERRUPT_PRIORITY + ( 1 << 5 ) ); /* Shift left 5 as only the top 3 bits are implemented. */
IntPrioritySet( INT_TIMER3A, configMAX_SYSCALL_INTERRUPT_PRIORITY );
/* Ensure interrupts do not start until the scheduler is running. */
portDISABLE_INTERRUPTS();
/* The rate at which the timers will interrupt. */
ulFrequency = configCPU_CLOCK_HZ / tmrTIMER_2_FREQUENCY;
TimerLoadSet( TIMER2_BASE, TIMER_A, ulFrequency );
IntEnable( INT_TIMER2A );
TimerIntEnable( TIMER2_BASE, TIMER_TIMA_TIMEOUT );
/* The rate at which the timers will interrupt. */
ulFrequency = configCPU_CLOCK_HZ / tmrTIMER_3_FREQUENCY;
TimerLoadSet( TIMER3_BASE, TIMER_A, ulFrequency );
IntEnable( INT_TIMER3A );
TimerIntEnable( TIMER3_BASE, TIMER_TIMA_TIMEOUT );
/* Enable both timers. */
TimerEnable( TIMER2_BASE, TIMER_A );
TimerEnable( TIMER3_BASE, TIMER_A );
}
示例7: EDMA3AINTCConfigure
/*
** This function configures the AINTC to receive EDMA3 interrupts.
*/
static void EDMA3AINTCConfigure(void)
{
/* Initializing the ARM Interrupt Controller. */
IntAINTCInit();
/* Registering EDMA3 Channel Controller transfer completion interrupt. */
IntRegister(EDMA_COMPLTN_INT_NUM, Edma3CompletionIsr);
/* Setting the priority for EDMA3CC completion interrupt in AINTC. */
IntPrioritySet(EDMA_COMPLTN_INT_NUM, 0, AINTC_HOSTINT_ROUTE_IRQ);
/* Registering EDMA3 Channel Controller Error Interrupt. */
IntRegister(EDMA_ERROR_INT_NUM, Edma3CCErrorIsr);
/* Setting the priority for EDMA3CC Error interrupt in AINTC. */
IntPrioritySet(EDMA_ERROR_INT_NUM, 0, AINTC_HOSTINT_ROUTE_IRQ);
/* Enabling the EDMA3CC completion interrupt in AINTC. */
IntSystemEnable(EDMA_COMPLTN_INT_NUM);
/* Enabling the EDMA3CC Error interrupt in AINTC. */
IntSystemEnable(EDMA_ERROR_INT_NUM);
/* Registering HSMMC Interrupt handler */
IntRegister(MMCSD_INT_NUM, HSMMCSDIsr);
/* Setting the priority for EDMA3CC completion interrupt in AINTC. */
IntPrioritySet(MMCSD_INT_NUM, 0, AINTC_HOSTINT_ROUTE_IRQ);
/* Enabling the HSMMC interrupt in AINTC. */
IntSystemEnable(MMCSD_INT_NUM);
/* Enabling IRQ in CPSR of ARM processor. */
IntMasterIRQEnable();
}
示例8: initRX
// WTimer1A is used to measure the width of the pulses
// WTimer1B is used to turn off motors if the connection to the RX is lost
void initRX(void) {
SysCtlPeripheralEnable(SYSCTL_PERIPH_WTIMER1); // Enable Wide Timer1 peripheral
SysCtlDelay(2); // Insert a few cycles after enabling the peripheral to allow the clock to be fully activated
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); // Enable GPIOC peripheral
SysCtlDelay(2); // Insert a few cycles after enabling the peripheral to allow the clock to be fully activated
GPIOPinConfigure(GPIO_PC6_WT1CCP0); // Use alternate function
GPIOPinTypeTimer(GPIO_PORTC_BASE, GPIO_PIN_6); // Use pin with timer peripheral
// Split timers and enable timer A event up-count timer and timer B as a periodic timer
TimerConfigure(WTIMER1_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_TIME_UP | TIMER_CFG_B_PERIODIC);
// Configure WTimer1A
TimerControlEvent(WTIMER1_BASE, TIMER_A, TIMER_EVENT_BOTH_EDGES); // Interrupt on both edges
TimerIntRegister(WTIMER1_BASE, TIMER_A, CaptureHandler); // Register interrupt handler
TimerIntEnable(WTIMER1_BASE, TIMER_CAPA_EVENT); // Enable timer capture A event interrupt
IntPrioritySet(INT_WTIMER1A, 0); // Configure Wide Timer 1A interrupt priority as 0
IntEnable(INT_WTIMER1A); // Enable Wide Timer 1A interrupt
// Configure WTimer1B
timerLoadValue = SysCtlClockGet() / 10 - 1; // Set to interrupt every 100ms
TimerLoadSet(WTIMER1_BASE, TIMER_B, timerLoadValue);
TimerIntRegister(WTIMER1_BASE, TIMER_B, TimeoutHandler); // Register interrupt handler
TimerIntEnable(WTIMER1_BASE, TIMER_TIMB_TIMEOUT); // Enable timer timeout interrupt
IntPrioritySet(INT_WTIMER1B, 0); // Configure Wide Timer 1B interrupt priority as 0
IntEnable(INT_WTIMER1B); // Enable Wide Timer 1B interrupt
TimerEnable(WTIMER1_BASE, TIMER_BOTH); // Enable both timers
validRXData = false;
}
示例9: I2CAINTCConfigure
/* Configures AINTC to generate interrupt */
void I2CAINTCConfigure(new_twi* TwiStruct)
{
/* Intialize the ARM Interrupt Controller(AINTC) */
//IntAINTCInit();
switch (TwiStruct->TwiNr)
{
case 0:
IntProtectionDisable();
/* Registering the Interrupt Service Routine(ISR). */
IntRegister(SYS_INT_I2C1_IRQ, I2C0Isr);
/* Setting the priority for the system interrupt in AINTC. */
IntPrioritySet(SYS_INT_I2C1_IRQ, TwiStruct->Priority, AINTC_HOSTINT_ROUTE_IRQ );
/* Enabling the system interrupt in AINTC. */
IntSystemEnable(SYS_INT_I2C1_IRQ);
IntProtectionEnable();
break;
case 1:
IntProtectionDisable();
/* Registering the Interrupt Service Routine(ISR). */
IntRegister(SYS_INT_I2C2_IRQ, I2C1Isr);
/* Setting the priority for the system interrupt in AINTC. */
IntPrioritySet(SYS_INT_I2C2_IRQ, TwiStruct->Priority, AINTC_HOSTINT_ROUTE_IRQ );
/* Enabling the system interrupt in AINTC. */
IntSystemEnable(SYS_INT_I2C2_IRQ);
IntProtectionEnable();
break;
case 2:
IntProtectionDisable();
/* Registering the Interrupt Service Routine(ISR). */
IntRegister(SYS_INT_I2C3_IRQ, I2C2Isr);
/* Setting the priority for the system interrupt in AINTC. */
IntPrioritySet(SYS_INT_I2C3_IRQ, TwiStruct->Priority, AINTC_HOSTINT_ROUTE_IRQ );
/* Enabling the system interrupt in AINTC. */
IntSystemEnable(SYS_INT_I2C3_IRQ);
IntProtectionEnable();
break;
case 3:
IntProtectionDisable();
/* Registering the Interrupt Service Routine(ISR). */
IntRegister(SYS_INT_I2C4_IRQ, I2C3Isr);
/* Setting the priority for the system interrupt in AINTC. */
IntPrioritySet(SYS_INT_I2C4_IRQ, TwiStruct->Priority, AINTC_HOSTINT_ROUTE_IRQ );
/* Enabling the system interrupt in AINTC. */
IntSystemEnable(SYS_INT_I2C4_IRQ);
IntProtectionEnable();
break;
}
}
示例10: main
int
main(void)
{
//set clock
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_8MHZ);
//PB1
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
GPIOPadConfigSet(GPIO_PORTB_BASE,GPIO_PIN_1,GPIO_STRENGTH_4MA,GPIO_PIN_TYPE_STD);
GPIODirModeSet(GPIO_PORTB_BASE,GPIO_PIN_1,GPIO_DIR_MODE_IN);
GPIOPortIntRegister(GPIO_PORTB_BASE, PortBIntHandler);
GPIOIntTypeSet(GPIO_PORTB_BASE, GPIO_PIN_1, GPIO_BOTH_EDGES);
GPIOPinIntEnable(GPIO_PORTB_BASE, GPIO_PIN_1);
// Status
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPadConfigSet(GPIO_PORTF_BASE,GPIO_PIN_2,GPIO_STRENGTH_4MA,GPIO_PIN_TYPE_STD);
GPIODirModeSet(GPIO_PORTF_BASE,GPIO_PIN_2,GPIO_DIR_MODE_OUT);
//UART
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(), 9600,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));
IntEnable(INT_UART0);
UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT);
IntPrioritySet(INT_UART0, 0x7F);
IntPrioritySet(INT_GPIOB,0x80);
IntMasterEnable();
SysTickIntRegister(SysTickHandler);
SysTickPeriodSet(SysCtlClockGet()/10000); // 0.1ms
SysTickIntEnable();
waitTime = 0; // initialize
waitTime2 = 0;
SysTickEnable();
while(1)
{
}
}
示例11: zigbee_init
int zigbee_init(unsigned long baud)
{
int result;
charZigbee.TxQueueLength = 10;
charZigbee.RxQueueLength = 20;
charZigbee.QueueWait = 0;
charZigbee.PortBase = UART2_BASE;
result = prepare_device(&charZigbee);
if(result){
printf("Zigbee queue creation fail\n");
return result;
}
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART2);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
GPIOPinTypeUART(GPIO_PORTG_BASE, GPIO_PIN_0 | GPIO_PIN_1);
UARTConfigSetExpClk(UART2_BASE, SysCtlClockGet(), baud,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));
IntRegister(INT_UART2, zigbee_isr);
UARTIntDisable(UART2_BASE, 0xFFFFFFFF);
IntPrioritySet(INT_UART2,configKERNEL_INTERRUPT_PRIORITY);
IntEnable(INT_UART2);
UARTEnable(UART2_BASE);
UARTFIFODisable(UART2_BASE);
UARTIntEnable(UART2_BASE, UART_INT_TX | UART_INT_RX);
return result;
}
示例12: SysDelayTimerSetup
void SysDelayTimerSetup(void)
{
#ifdef DELAY_USE_INTERRUPTS
/* This function will enable clocks for the DMTimer7 instance */
DMTimer7ModuleClkConfig();
/* Registering DMTimerIsr */
IntRegister(SYS_INT_TINT7, DMTimerIsr);
/* Set the priority */
IntPrioritySet(SYS_INT_TINT7, 0, AINTC_HOSTINT_ROUTE_IRQ);
/* Enable the system interrupt */
IntSystemEnable(SYS_INT_TINT7);
DMTimerCounterSet(SOC_DMTIMER_7_REGS, 0);
/* Configure the DMTimer for Auto-reload and compare mode */
DMTimerModeConfigure(SOC_DMTIMER_7_REGS, DMTIMER_ONESHOT_NOCMP_ENABLE);
#else
DMTimer7ModuleClkConfig();
DMTimerModeConfigure(SOC_DMTIMER_7_REGS, DMTIMER_ONESHOT_NOCMP_ENABLE);
#endif
}
示例13: msp430Init
/*
* @brief Initialize MSP430.
*
* use 400us interrupt for SPI comms. This lets us xmit our 24-byte message in 9.6
* ms. At the end, we use a 32us interrupt for SPI comms. This is about as fast
* as the MSP430 can read bytes from the buffer. This double byte signals the end of the
* message for synchronizing the two processors
* @returns void
*/
void msp430Init(void) {
// Set up the message index
MSP430MessageIdx = 0;
// Default expand0 to off
expand0Disable();
// timer 1a is used for the ir interrupt. timer 1b is used for the MSP430 message interrupt
//ir_init initializes the timer 1, so timer1 shouldn't be enabled and configured here
//MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);
//MAP_TimerConfigure(TIMER1_BASE, TIMER_CFG_16_BIT_PAIR | TIMER_CFG_A_PERIODIC | TIMER_CFG_B_ONE_SHOT);
// end shared timer init code
MAP_TimerIntEnable(TIMER1_BASE, TIMER_TIMB_TIMEOUT);
MAP_TimerLoadSet(TIMER1_BASE, TIMER_B, MSP430_SPI_BYTE_PERIOD);
MAP_TimerEnable(TIMER1_BASE, TIMER_B);
// Enable the interrupt in the NVIC with the right priority for FreeRTOS
IntPrioritySet(INT_TIMER1B, SYSTEM_INTERRUPT_PRIORITY);
MAP_IntEnable(INT_TIMER1B);
// Have a flag to show the first valid communication from the MSP430
systemMSP430CommsValid = FALSE;
// Set up normal operations between the MSP430 and the 8962
systemMSP430Command = MSP430_CMD_COMMAND_NORMAL;
checksumFailure = 0;
}
示例14: confADC
void confADC(){
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0); // Habilita ADC0
SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_ADC0);
ADCSequenceDisable(ADC0_BASE,0); // Deshabilita el secuenciador 1 del ADC0 para su configuracion
HWREG(ADC0_BASE + ADC_O_PC) = (ADC_PC_SR_500K); // usar en lugar de SysCtlADCSpeedSet
ADCSequenceConfigure(ADC0_BASE, 0, ADC_TRIGGER_TIMER, 0);// Disparo de muestreo por instrucciones de Timer
ADCHardwareOversampleConfigure(ADC0_BASE, 64); //SobreMuestreo de 64 muestras
// Configuramos los 4 conversores del secuenciador 1 para muestreo del sensor de temperatura
ADCSequenceStepConfigure(ADC0_BASE, 0, 0, ADC_CTL_CH0); //Sequencer Step 0: Samples Channel PE3
ADCSequenceStepConfigure(ADC0_BASE, 0, 1, ADC_CTL_CH1); //Sequencer Step 1: Samples Channel PE2
ADCSequenceStepConfigure(ADC0_BASE, 0, 2, ADC_CTL_CH2 | ADC_CTL_IE | ADC_CTL_END); //Sequencer Step 2: Samples Channel PE1
IntPrioritySet(INT_ADC0SS0,5<<5);
// Tras configurar el secuenciador, se vuelve a habilitar
ADCSequenceEnable(ADC0_BASE, 0);
//Asociamos la funcion a la interrupcion
ADCIntRegister(ADC0_BASE, 0,ADCIntHandler);
//Activamos las interrupciones
ADCIntEnable(ADC0_BASE,0);
}
示例15: GPIO_SetInterruptTask
// *************** GPIO_SetInterruptTask ***************
void GPIO_SetInterruptTask( GPIO_PORT_T port, GPIO_PIN_T pins,
unsigned long int_type, unsigned long priority,
void (*task)( void ) )
{
unsigned long port_base = GPIO_PortBase[port];
// Set the interrupt task for the specified port and pins
if ( pins & 0x01 ) GPIO_PinISR[port][0] = task;
else if( pins & 0x02 ) GPIO_PinISR[port][1] = task;
else if( pins & 0x04 ) GPIO_PinISR[port][2] = task;
else if( pins & 0x08 ) GPIO_PinISR[port][3] = task;
else if( pins & 0x10 ) GPIO_PinISR[port][4] = task;
else if( pins & 0x20 ) GPIO_PinISR[port][5] = task;
else if( pins & 0x40 ) GPIO_PinISR[port][6] = task;
else if( pins & 0x80 ) GPIO_PinISR[port][7] = task;
// Set the event type and priority, and clear the interrupt
IntPrioritySet( GPIO_IntAssignment[port], priority );
GPIOIntTypeSet( port_base, pins, int_type );
GPIOPinIntClear( port_base, pins);
// Enable interrupts
IntEnable( GPIO_IntAssignment[port] );
GPIOPinIntEnable( port_base, pins );
}