您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ HAL_WRITE_UINT32函数代码示例

51自学网 2021-06-01 21:22:10
  C++
这篇教程C++ HAL_WRITE_UINT32函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中HAL_WRITE_UINT32函数的典型用法代码示例。如果您正苦于以下问题:C++ HAL_WRITE_UINT32函数的具体用法?C++ HAL_WRITE_UINT32怎么用?C++ HAL_WRITE_UINT32使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了HAL_WRITE_UINT32函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: qspi_xc7z_fill_tx_fifo

/**** QSPI bus fill TX FIFO function. ** @param    qspi_bus     - QSPI bus handle** @return   none******************************************************************************/static voidqspi_xc7z_fill_tx_fifo(cyg_qspi_xc7z_bus_t    *qspi_bus, int max){    entry_debug();    cyg_uint32 data = 0;    cyg_uint32 val  = 0;    int count = 0;    HAL_READ_UINT32(qspi_bus->base + XQSPIPS_SR_OFFSET, val);    while ((!(val & XQSPIPS_IXR_TXFULL_MASK)) && (qspi_bus->us_tx_bytes > 0) && (count < max)) {    	count++;	if (qspi_bus->us_tx_bytes < 4) {	    int tp = qspi_bus->us_tx_bytes;            qspi_xc7z_copy_write_data(qspi_bus, &data, qspi_bus->us_tx_bytes);	    if (tp == 1) {		    HAL_WRITE_UINT32(qspi_bus->base + XQSPIPS_TXD_01_OFFSET, data);	    } else if (tp == 2) {		    HAL_WRITE_UINT32(qspi_bus->base + XQSPIPS_TXD_10_OFFSET, data);	    } else {		    HAL_WRITE_UINT32(qspi_bus->base + XQSPIPS_TXD_11_OFFSET, data);	    }        } else {            qspi_xc7z_copy_write_data(qspi_bus, &data, 4);	    HAL_WRITE_UINT32(qspi_bus->base + XQSPIPS_TXD_00_OFFSET, data);        }        HAL_READ_UINT32(qspi_bus->base + XQSPIPS_SR_OFFSET,      val);   }}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:37,


示例2: mpc5xxx_i2c_isr

cyg_uint32mpc5xxx_i2c_isr(cyg_vector_t vector, cyg_addrword_t data){    cyg_uint32     dr;    HAL_WRITE_UINT32(I2C_0_STATUS_REG, 0x00000000);				// Clear the status register of all interrupts    if (CYG_MPC5XXX_I2C_XFER_MODE_STARTRX == global_i2c_mode) 	// Sent the address and now read the dummy byte    {        HAL_WRITE_UINT32(I2C_0_CONTROL_REG, I2C_BEGIN_RX);        HAL_READ_UINT32(I2C_0_DATA_REG,dr); 					// Read the dummy byte to initiate next transfer        global_i2c_mode = CYG_MPC5XXX_I2C_XFER_MODE_RX1;		// Change transfer mode to receive first byte        resetHigh();			// Set reset pin to High that drains the capacitor to 0V, IS THIS where it goes?    }    else if (CYG_MPC5XXX_I2C_XFER_MODE_RX1 == global_i2c_mode) 	// Transmit mode to read first data byte    {        HAL_WRITE_UINT32(I2C_0_CONTROL_REG, I2C_SEND_TXAK);        HAL_READ_UINT32(I2C_0_DATA_REG, byte0);        byte0 >>= 16;        global_i2c_mode = CYG_MPC5XXX_I2C_XFER_MODE_RX2;		// Change transfer mode to receive second byte        resetLow();    }
开发者ID:Jmcjack,项目名称:hasp,代码行数:30,


示例3: hasp_mpc5xxx_i2c_init

voidhasp_mpc5xxx_i2c_init(){    initReset();										// initialise the reset pin    resetHigh();    cyg_drv_mutex_init(&i2c_lock);    cyg_drv_cond_init(&i2c_wait, &i2c_lock);    cyg_drv_interrupt_create(i2c_intr_vector,                             0,                             (cyg_addrword_t) 0,                             &mpc5xxx_i2c_isr,                             &mpc5xxx_i2c_dsr,                             &(i2c_interrupt_handle),                             &(i2c_interrupt_data));    cyg_drv_interrupt_attach(i2c_interrupt_handle);    HAL_WRITE_UINT32(I2C_0_FDR_REG, 0x89000000);		// Set clock to 100MHz / 352    HAL_WRITE_UINT32(I2C_0_ADDRESS_REG, 0x00000000);	// Set MPC5xxx slave address, not useful to us    HAL_WRITE_UINT32(I2C_0_CONTROL_REG, I2C_ENABLE);	// Enable the I2C device but do not start any transfers and leave interrupts disabled.    HAL_WRITE_UINT32(I2C_0_STATUS_REG, 0x00000000);		// Clear any pending conditions including interrupts.    HAL_INTERRUPT_UNMASK(i2c_intr_vector);				// Interrupts can now be safely unmasked    i2c_flag = 0;    resetLow();}
开发者ID:Jmcjack,项目名称:hasp,代码行数:32,


示例4: smdk2410_serial_config_port

// Internal function to actually configure the hardware to desired baud rate, etc.static boolsmdk2410_serial_config_port(serial_channel *chan, cyg_serial_info_t *new_config, bool init){    smdk2410_serial_info *smdk2410_chan = (smdk2410_serial_info *)chan->dev_priv;    CYG_ADDRWORD base = smdk2410_chan->base;    unsigned short baud_divisor = select_baud[new_config->baud];    cyg_uint32 _lcr;    if (baud_divisor == 0) return false;    if (init) {        //UART FIFO control register        HAL_WRITE_UINT32(base+OFS_UFCON, (3<<6) | (3<<4) | (1<<2) | (1<<1) | (1<<0));        //UART modem control register        HAL_WRITE_UINT32(base+OFS_UMCON, 0);    }    _lcr = select_word_length[new_config->word_length - CYGNUM_SERIAL_WORD_LENGTH_5] |         select_stop_bits[new_config->stop] |        select_parity[new_config->parity];    HAL_WRITE_UINT32(base+OFS_ULCON, _lcr);    //UART control register, Enable Rx Timeout Int    HAL_WRITE_UINT32(base+OFS_UCON, 0x085);    if (new_config != &chan->config) {        chan->config = *new_config;    }    return true;}
开发者ID:KarenHung,项目名称:ecosgit,代码行数:32,


示例5: hal_delay_us

void hal_delay_us(cyg_int32 usecs){    CYG_ADDRESS pit_base = MAC7100_PIT_BASE;    cyg_uint32 pit_en;    // Clear flag    HAL_WRITE_UINT32(MAC7100_PIT_FLG(pit_base),                     MAC7100_PIT_FLAG_TIF(CYGNUM_PIT_CHAN_US));    // Set timer    HAL_WRITE_UINT32(MAC7100_PIT_TLVAL(pit_base, CYGNUM_PIT_CHAN_US),                     usecs*CYGNUM_1_US-1);    HAL_READ_UINT32(MAC7100_PIT_EN(pit_base), pit_en);    pit_en |= MAC7100_PIT_EN_PEN(CYGNUM_PIT_CHAN_US);    HAL_WRITE_UINT32(MAC7100_PIT_EN(pit_base), pit_en);    do {        HAL_READ_UINT32(MAC7100_PIT_FLG(pit_base), pit_en);    } while (!(pit_en & MAC7100_PIT_FLAG_TIF(CYGNUM_PIT_CHAN_US)));    // Disable counter    HAL_READ_UINT32(MAC7100_PIT_EN(pit_base), pit_en);    pit_en &= ~MAC7100_PIT_EN_PEN(CYGNUM_PIT_CHAN_US);    HAL_WRITE_UINT32(MAC7100_PIT_EN(pit_base), pit_en);}
开发者ID:deepikateriar,项目名称:Onlive-Source-Backup,代码行数:26,


示例6: hal_clock_initialize

void hal_clock_initialize(cyg_uint32 period){    CYG_ADDRESS pit_base = MAC7100_PIT_BASE;    cyg_uint32 pit_en;    CYG_ASSERT(period < 0x10000, "Invalid clock period");    // Disable counter    HAL_READ_UINT32(MAC7100_PIT_EN(pit_base), pit_en);    pit_en &= ~MAC7100_PIT_EN_PEN(CYGNUM_PIT_CHAN_CLOCK);    HAL_WRITE_UINT32(MAC7100_PIT_EN(pit_base), pit_en);    // Set registers    _period=period;    HAL_WRITE_UINT32(MAC7100_PIT_TLVAL(pit_base, CYGNUM_PIT_CHAN_CLOCK),                     period);    // Start timer    pit_en |= MAC7100_PIT_EN_PEN(CYGNUM_PIT_CHAN_CLOCK);    HAL_WRITE_UINT32(MAC7100_PIT_EN(pit_base), pit_en);    // Enable timer interrupt    HAL_READ_UINT32(MAC7100_PIT_INTEN(pit_base), pit_en);    pit_en |= MAC7100_PIT_EN_PEN(CYGNUM_PIT_CHAN_CLOCK);    HAL_WRITE_UINT32(MAC7100_PIT_INTEN(pit_base), pit_en);    HAL_READ_UINT32(MAC7100_PIT_INTSEL(pit_base), pit_en);    pit_en |= MAC7100_PIT_EN_PEN(CYGNUM_PIT_CHAN_CLOCK);    HAL_WRITE_UINT32(MAC7100_PIT_INTSEL(pit_base), pit_en);}
开发者ID:deepikateriar,项目名称:Onlive-Source-Backup,代码行数:30,


示例7: init_timer

void init_timer( cyg_uint32 base, cyg_uint32 interval ){    cyg_uint32 period = hal_stm32_pclk1;    if( base == CYGHWR_HAL_STM32_TIM1 || base == CYGHWR_HAL_STM32_TIM8 )    {        period = hal_stm32_pclk2;        if( CYGHWR_HAL_CORTEXM_STM32_CLOCK_PCLK2_DIV != 1 )            period *= 2;    }    else    {        if( CYGHWR_HAL_CORTEXM_STM32_CLOCK_PCLK1_DIV != 1 )            period *= 2;    }    period = period / 1000000;        HAL_WRITE_UINT32(base+CYGHWR_HAL_STM32_TIM_PSC, period-1 );    HAL_WRITE_UINT32(base+CYGHWR_HAL_STM32_TIM_CR2, 0 );    HAL_WRITE_UINT32(base+CYGHWR_HAL_STM32_TIM_DIER, CYGHWR_HAL_STM32_TIM_DIER_UIE );    HAL_WRITE_UINT32(base+CYGHWR_HAL_STM32_TIM_ARR, interval );        HAL_WRITE_UINT32(base+CYGHWR_HAL_STM32_TIM_CR1, CYGHWR_HAL_STM32_TIM_CR1_CEN);}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:28,


示例8: hal_clock_initialize

void hal_clock_initialize(cyg_uint32 period){    cyg_uint32 tmod;    // Disable timer 0    HAL_READ_UINT32(E7T_TMOD, tmod);    tmod &= ~(E7T_TMOD_TE0);    HAL_WRITE_UINT32(E7T_TMOD, 0);    tmod &= ~(E7T_TMOD_TMD0 | E7T_TMOD_TCLR0);    tmod |= E7T_TMOD_TE0;    // Set counter    HAL_WRITE_UINT32(E7T_TDATA0, period);    // And enable timer    HAL_WRITE_UINT32(E7T_TMOD, tmod);    _period = period;#ifdef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT    cyg_drv_interrupt_create(CYGNUM_HAL_INTERRUPT_EXT0,                             99,           // Priority                             0,            // Data item passed to interrupt handler                             e7t_abort_isr,                             0,                             &abort_interrupt_handle,                             &abort_interrupt);    cyg_drv_interrupt_attach(abort_interrupt_handle);    cyg_drv_interrupt_unmask(CYGNUM_HAL_INTERRUPT_EXT0);#endif}
开发者ID:lijinlei,项目名称:Kernel_BOOX60,代码行数:32,


示例9: phy_read_register

static cyg_uint32 phy_read_register(cyg_uint32 address, cyg_uint8 reg){	cyg_uint32 retVal;	cyg_uint32 miimcom, miimind;	int i;	HAL_WRITE_UINT32( CYGARC_IMM_BASE + CYGARC_REG_IMM_TSEC1_MIIMADD , ((((cyg_uint32)address) << 8) | reg));	HAL_READ_UINT32( CYGARC_IMM_BASE + CYGARC_REG_IMM_TSEC1_MIIMCOM , miimcom);	miimcom &= ~MIIMCOM_READ;	HAL_WRITE_UINT32( CYGARC_IMM_BASE + CYGARC_REG_IMM_TSEC1_MIIMCOM , miimcom);	miimcom |= MIIMCOM_READ;	HAL_WRITE_UINT32( CYGARC_IMM_BASE + CYGARC_REG_IMM_TSEC1_MIIMCOM , miimcom);	HAL_READ_UINT32( CYGARC_IMM_BASE + CYGARC_REG_IMM_TSEC1_MIIMIND , miimind);	i = 0;	while ((miimind & MIIMIND_BUSY) == MIIMIND_BUSY && i++ < 500)	{//		os_printf(".");		HAL_DELAY_US(10000);		HAL_READ_UINT32( CYGARC_IMM_BASE + CYGARC_REG_IMM_TSEC1_MIIMIND , miimind);	}	//status register	HAL_READ_UINT32( CYGARC_IMM_BASE + CYGARC_REG_IMM_TSEC1_MIIMSTAT , retVal);	//			phy_state = qi->regs->miimstat;	HAL_READ_UINT32( CYGARC_IMM_BASE + CYGARC_REG_IMM_TSEC1_MIIMCOM , miimcom);	miimcom &= ~MIIMCOM_READ;	HAL_WRITE_UINT32( CYGARC_IMM_BASE + CYGARC_REG_IMM_TSEC1_MIIMCOM , miimcom);	return retVal;}
开发者ID:edgargrimberg,项目名称:eCos_MPC8313,代码行数:30,


示例10: _mb93091_pci_cfg_write_uint32

externC void_mb93091_pci_cfg_write_uint32(int bus, int devfn, int offset, cyg_uint32 cfg_val){    cyg_uint32 cfg_addr, addr, status;    if (!_mb93091_has_vdk)	    return;#ifdef CYGPKG_IO_PCI_DEBUG    diag_printf("%s(bus=%x, devfn=%x, offset=%x, val=%x)/n", __FUNCTION__, bus, devfn, offset, cfg_val);#endif // CYGPKG_IO_PCI_DEBUG    if ((bus == 0) && (CYG_PCI_DEV_GET_DEV(devfn) == 0)) {        // PCI bridge        addr = _MB93091_PCI_CONFIG + (offset << 1);    } else {        cfg_addr = _cfg_addr(bus, devfn, offset);        HAL_WRITE_UINT32(_MB93091_PCI_CONFIG_ADDR, cfg_addr);        addr = _MB93091_PCI_CONFIG_DATA;    }    HAL_WRITE_UINT32(addr, cfg_val);    HAL_READ_UINT16(_MB93091_PCI_STAT_CMD, status);    if (status & _MB93091_PCI_STAT_ERROR_MASK) {        // Cycle failed - clean up and get out        HAL_WRITE_UINT16(_MB93091_PCI_STAT_CMD, status & _MB93091_PCI_STAT_ERROR_MASK);    }    HAL_WRITE_UINT32(_MB93091_PCI_CONFIG_ADDR, 0);}
开发者ID:0xCA5A,项目名称:dd-wrt,代码行数:26,


示例11: _mb93091_pci_cfg_read_uint16

externC cyg_uint16 _mb93091_pci_cfg_read_uint16(int bus, int devfn, int offset){    cyg_uint32 cfg_addr, addr, status;    cyg_uint16 cfg_val = (cyg_uint16)0xFFFF;    if (!_mb93091_has_vdk)	    return cfg_val;#ifdef CYGPKG_IO_PCI_DEBUG    diag_printf("%s(bus=%x, devfn=%x, offset=%x) = ", __FUNCTION__, bus, devfn, offset);#endif // CYGPKG_IO_PCI_DEBUG    if ((bus == 0) && (CYG_PCI_DEV_GET_DEV(devfn) == 0)) {        // PCI bridge        addr = _MB93091_PCI_CONFIG + ((offset << 1) ^ 0x02);    } else {        cfg_addr = _cfg_addr(bus, devfn, offset ^ 0x02);        HAL_WRITE_UINT32(_MB93091_PCI_CONFIG_ADDR, cfg_addr);        addr = _MB93091_PCI_CONFIG_DATA + ((offset & 0x03) ^ 0x02);    }    HAL_READ_UINT16(addr, cfg_val);    HAL_READ_UINT16(_MB93091_PCI_STAT_CMD, status);    if (status & _MB93091_PCI_STAT_ERROR_MASK) {        // Cycle failed - clean up and get out        cfg_val = (cyg_uint16)0xFFFF;        HAL_WRITE_UINT16(_MB93091_PCI_STAT_CMD, status & _MB93091_PCI_STAT_ERROR_MASK);    }#ifdef CYGPKG_IO_PCI_DEBUG    diag_printf("%x/n", cfg_val);#endif // CYGPKG_IO_PCI_DEBUG    HAL_WRITE_UINT32(_MB93091_PCI_CONFIG_ADDR, 0);    return cfg_val;}
开发者ID:0xCA5A,项目名称:dd-wrt,代码行数:32,


示例12: hal_diag_led

void hal_diag_led(int x){  HAL_WRITE_UINT32(HAL_DISPLAY_LEDBAR, x);#if !defined(CYG_KERNEL_DIAG_LCD)  HAL_WRITE_UINT32(HAL_DISPLAY_ASCIIWORD, x);#endif}
开发者ID:KarenHung,项目名称:ecosgit,代码行数:7,


示例13: hal_stm32_serial_init_channel

static voidhal_stm32_serial_init_channel(void* __ch_data){    channel_data_t *chan = (channel_data_t*)__ch_data;    CYG_ADDRESS base = chan->base;    cyg_uint32 cr1, cr2;    // Enable the PIO lines for the serial channel    CYGHWR_HAL_STM32_GPIO_SET( chan->rxpin );    CYGHWR_HAL_STM32_GPIO_SET( chan->txpin );    cr2 = CYGHWR_HAL_STM32_UART_CR2_STOP_1;    HAL_WRITE_UINT32( base+CYGHWR_HAL_STM32_UART_CR2, cr2 );    cr1 = CYGHWR_HAL_STM32_UART_CR1_M_8;    cr1 |= CYGHWR_HAL_STM32_UART_CR1_TE | CYGHWR_HAL_STM32_UART_CR1_RE;    HAL_WRITE_UINT32( base+CYGHWR_HAL_STM32_UART_CR1, cr1 );//while(1)HAL_WRITE_UINT32 (CYGHWR_HAL_STM32_GPIOC+CYGHWR_HAL_STM32_GPIO_BSRR,0x000040);    // Set up Baud rate    chan->baud_rate = CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD;  //  while(1)HAL_WRITE_UINT32 (CYGHWR_HAL_STM32_GPIOC+CYGHWR_HAL_STM32_GPIO_BSRR,0x000040);    hal_stm32_uart_setbaud( base, chan->baud_rate );    // Enable the uart    cr1 |= CYGHWR_HAL_STM32_UART_CR1_UE;    HAL_WRITE_UINT32( base+CYGHWR_HAL_STM32_UART_CR1, cr1 );    }
开发者ID:xdpsee,项目名称:uIP_on_eCos,代码行数:29,


示例14: at91_adc_enable

//==========================================================================// This function is called from the generic ADC package to enable the// channel in response to a CYG_IO_SET_CONFIG_ADC_ENABLE config operation.// It should take any steps needed to start the channel generating samples//==========================================================================static void at91_adc_enable(cyg_adc_channel *chan){    at91_adc_info *info      = chan->device->dev_priv;    // Enable the channel    HAL_WRITE_UINT32((info->adc_base + AT91_ADC_CHER), /                      AT91_ADC_CHER_CHx(chan->channel));    //    // Unmask interrupt as soon as 1 channel is enable    //    if (!info->chan_mask)    {       cyg_drv_interrupt_unmask(info->timer_vector);       // Enable timer interrupt       HAL_WRITE_UINT32(info->tc_base+AT91_TC_IER, AT91_TC_IER_CPC);       // Enable the clock       HAL_WRITE_UINT32(info->tc_base+AT91_TC_CCR, AT91_TC_CCR_TRIG | AT91_TC_CCR_CLKEN);       // Start timer       HAL_WRITE_UINT32(info->tc_base+AT91_TC_CCR,  AT91_TC_CCR_TRIG);       // Start ADC sampling       HAL_WRITE_UINT32((info->adc_base + AT91_ADC_CR), AT91_ADC_CR_START);    }    info->chan_mask |= AT91_ADC_CHER_CHx(chan->channel);}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:37,


示例15: usbs_state_notify

// There has been a change in state. Update the end point.static voidusbs_state_notify (usbs_control_endpoint * pcep){  static int old_state = USBS_STATE_CHANGE_POWERED;  int state = pcep->state & USBS_STATE_MASK;    if (pcep->state != old_state) {    usbs_end_all_transfers (-EPIPE);    switch (state) {      case USBS_STATE_DETACHED:      case USBS_STATE_ATTACHED:      case USBS_STATE_POWERED:        // Nothing to do        break;      case USBS_STATE_DEFAULT:        HAL_WRITE_UINT32 (AT91_UDP + AT91_UDP_GLB_STATE, 0);        break;      case USBS_STATE_ADDRESSED:        HAL_WRITE_UINT32 (AT91_UDP + AT91_UDP_GLB_STATE, AT91_UDP_GLB_FADDEN);        break;      case USBS_STATE_CONFIGURED:        HAL_WRITE_UINT32 (AT91_UDP + AT91_UDP_GLB_STATE, AT91_UDP_GLB_CONFG);        break;      default:        CYG_FAIL("Unknown endpoint state");    }        if (pcep->state_change_fn) {      (*pcep->state_change_fn) (pcep, 0, pcep->state, old_state);    }        old_state = pcep->state;  }}
开发者ID:DavionKnight,项目名称:GT873M_4F,代码行数:35,


示例16: usbs_at91_endpoint_init

voidusbs_at91_endpoint_init (usbs_rx_endpoint * pep, cyg_uint8 endpoint_type,                         cyg_bool enable){    int epn = usbs_at91_pep_to_number(pep);  cyg_addrword_t pCSR = pCSRn(epn);    CYG_ASSERT (AT91_USB_ENDPOINTS > epn, "Invalid end point");    usbs_at91_endpoint_interrupt_enable (epn, false);  /* Reset endpoint */  HAL_WRITE_UINT32 (AT91_UDP + AT91_UDP_RST_EP, 1 << epn);        HAL_WRITE_UINT32 (AT91_UDP + AT91_UDP_RST_EP, 0);    pep->halted = false;  /* Type | In */  HAL_WRITE_UINT32 (pCSR, (((((cyg_uint32) endpoint_type) & 0x03) << 8) |                            ((((cyg_uint32) endpoint_type) & 0x80) << 3)));  usbs_at91_endpoint_bytes_in_fifo[epn] = 0;  usbs_at91_endpoint_bytes_received[epn] = THERE_IS_A_NEW_PACKET_IN_THE_UDP;  usbs_at91_endpoint_bank1[epn] = false;  if (enable) {    SET_BITS (pCSR, AT91_UDP_CSR_EPEDS);  }}
开发者ID:DavionKnight,项目名称:GT873M_4F,代码行数:28,


示例17: cyg_hal_plf_pci_cfg_write_byte

void cyg_hal_plf_pci_cfg_write_byte (cyg_uint32 bus, cyg_uint32 devfn,                                cyg_uint32 offset, cyg_uint8  data){    cyg_uint32 config_dword, shift;    HAL_WRITE_UINT32(CYGARC_REG_PCI_CFG_ADDR,                     CYGARC_REG_PCI_CFG_ADDR_ENABLE |                     (bus << CYGARC_REG_PCI_CFG_ADDR_BUSNO_shift) |                     (devfn << CYGARC_REG_PCI_CFG_ADDR_FUNC_shift) |                     (offset & ~3));    HAL_WRITE_UINT32(CYGARC_REG_PCI_CFG_CMD, CYGARC_REG_PCI_CFG_CMD_RCFG);    _DELAY();    HAL_READ_UINT32(CYGARC_REG_PCI_CFG_DATA, config_dword);    shift = (offset & 3) * 8;    config_dword &= ~(0xff << shift);    config_dword |= (data << shift);    HAL_WRITE_UINT32(CYGARC_REG_PCI_CFG_ADDR,                     CYGARC_REG_PCI_CFG_ADDR_ENABLE |                     (bus << CYGARC_REG_PCI_CFG_ADDR_BUSNO_shift) |                     (devfn << CYGARC_REG_PCI_CFG_ADDR_FUNC_shift) |                     (offset & ~3));    HAL_WRITE_UINT32(CYGARC_REG_PCI_CFG_DATA, config_dword);    _DELAY();    HAL_WRITE_UINT32(CYGARC_REG_PCI_CFG_CMD, CYGARC_REG_PCI_CFG_CMD_WCFG);    _DELAY();}
开发者ID:lijinlei,项目名称:Kernel_BOOX60,代码行数:29,


示例18: cyg_hal_sh_pcic_pci_io_write_dword

voidcyg_hal_sh_pcic_pci_io_write_dword (cyg_uint32 addr, cyg_uint32 data){    HAL_WRITE_UINT32(CYGARC_REG_PCIC_IOBR, addr & CYGARC_REG_PCIC_IOBR_MASK);    HAL_WRITE_UINT32(CYGARC_REG_PCIC_IO_BASE + (addr & CYGARC_REG_PCIC_IO_BASE_MASK),                     data);}
开发者ID:lijinlei,项目名称:Kernel_BOOX60,代码行数:7,


示例19: hal_enable_profile_timer

// Profiling timer setupint hal_enable_profile_timer(int resolution){    cyg_uint32 period;    // Calculate how many timer ticks the requested resolution in    // microseconds equates to. We do this calculation in 64 bit    // arithmetic to avoid overflow.    period = (cyg_uint32)((((cyg_uint64)resolution) *        ((cyg_uint64)CYGNUM_HAL_ARM_AT91_CLOCK_SPEED))/32000000LL);    CYG_ASSERT(period < 0x10000, "Invalid profile timer resolution"); // 16 bits only    // Attach ISR    HAL_INTERRUPT_ATTACH(HAL_INTERRUPT_PROFILE, &profile_isr, 0x1111, 0);    HAL_INTERRUPT_UNMASK(HAL_INTERRUPT_PROFILE);    // Disable counter    HAL_WRITE_UINT32(AT91_TC+AT91_TC_PROFILE+AT91_TC_CCR, AT91_TC_CCR_CLKDIS);    // Set registers    HAL_WRITE_UINT32(AT91_TC+AT91_TC_PROFILE+AT91_TC_CMR, AT91_TC_CMR_CPCTRG | // Reset counter on CPC                                                          AT91_TC_CMR_CLKS_MCK32); // Use MCLK/32    HAL_WRITE_UINT32(AT91_TC+AT91_TC_PROFILE+AT91_TC_RC, period);    // Start timer    HAL_WRITE_UINT32(AT91_TC+AT91_TC_PROFILE+AT91_TC_CCR, AT91_TC_CCR_TRIG | AT91_TC_CCR_CLKEN);    // Enable timer interrupt    HAL_WRITE_UINT32(AT91_TC+AT91_TC_PROFILE+AT91_TC_IER, AT91_TC_IER_CPC);    return resolution;}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:33,


示例20: spi_at91_start_transfer

static voidspi_at91_start_transfer(cyg_spi_at91_device_t *dev){    cyg_spi_at91_bus_t *spi_bus = (cyg_spi_at91_bus_t *)dev->spi_device.spi_bus;      if (spi_bus->cs_up)        return;     // Force minimal delay between two transfers - in case two transfers    // follow each other w/o delay, then we have to wait here in order for    // the peripheral device to detect cs transition from inactive to active.     CYGACC_CALL_IF_DELAY_US(dev->tr_bt_udly);        // Raise CS#ifdef CYGHWR_DEVS_SPI_ARM_AT91_PCSDEC    HAL_WRITE_UINT32(AT91_SPI_PIO+AT91_PIO_CODR,                      AT91_SPI_PIO_NPCS(~dev->dev_num));#else    HAL_WRITE_UINT32(AT91_SPI_PIO+AT91_PIO_CODR,                     AT91_SPI_PIO_NPCS((~(1<<dev->dev_num)) & 0x0F));#endif    CYGACC_CALL_IF_DELAY_US(dev->cs_up_udly);       spi_bus->cs_up = true;}
开发者ID:0xCA5A,项目名称:dd-wrt,代码行数:26,


示例21: lcdInit

void lcdInit(void){    unsigned int reg;    // backlight-- output    HAL_READ_UINT32(EP9312_GPIO_PADDR, reg);    HAL_WRITE_UINT32(EP9312_GPIO_PADDR, reg | 0x08);    // R/W and E low    HAL_READ_UINT32(EP9312_GPIO_PBDR, reg);    HAL_WRITE_UINT32(EP9312_GPIO_PBDR, reg & ~0xfc);    HAL_READ_UINT32(EP9312_GPIO_PBDDR, reg);    HAL_WRITE_UINT32(EP9312_GPIO_PBDDR, reg | 0x0c);    // RS low    HAL_READ_UINT32(EP9312_GPIO_PGDR, reg);    HAL_WRITE_UINT32(EP9312_GPIO_PGDR, reg & ~0x02);    HAL_READ_UINT32(EP9312_GPIO_PGDDR, reg);    HAL_WRITE_UINT32(EP9312_GPIO_PGDDR, reg | 0x02);    lcdPutNibble(0x02);    lcdPutNibble(0x02);    lcdPutNibble(0x08);    lcdPutByte(0x0c);    lcdPutByte(0x01);    lcdPutByte(0x03);    lcdClear();}
开发者ID:perryhg,项目名称:terkos,代码行数:29,


示例22: at91_adc_disable

//==========================================================================// This function is called from the generic ADC package to enable the// channel in response to a CYG_IO_SET_CONFIG_ADC_DISABLE config operation.// It should take any steps needed to stop the channel generating samples.//==========================================================================static void at91_adc_disable(cyg_adc_channel *chan){    at91_adc_info *info  = chan->device->dev_priv;    cyg_uint32 sr;    info->chan_mask &= ~ AT91_ADC_CHER_CHx(chan->channel);    // Disable the channel    HAL_WRITE_UINT32((info->adc_base + AT91_ADC_CHDR), /                      AT91_ADC_CHER_CHx(chan->channel));    //    // If no channel is enabled the we disable interrupts now    //    if (!info->chan_mask)    {       cyg_drv_interrupt_mask(info->timer_vector);       // Clear interrupt       HAL_READ_UINT32(info->tc_base+AT91_TC_SR, sr);       // Disable  timer interrupt       HAL_WRITE_UINT32(info->tc_base+AT91_TC_IDR, AT91_TC_IER_CPC);       // Disable the clock       HAL_WRITE_UINT32(info->tc_base+AT91_TC_CCR, AT91_TC_CCR_CLKDIS);    }}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:34,


示例23: hal_stm32_dma_isr

static cyg_uint32 hal_stm32_dma_isr( cyg_vector_t vector, CYG_ADDRWORD data ){    hal_stm32_dma_stream *stream = (hal_stm32_dma_stream *)data;    cyg_uint32 ret = CYG_ISR_HANDLED;        cyg_uint32 isr;    HAL_READ_UINT32( stream->ctlr+CYGHWR_HAL_STM32_DMA_ISR_REG(stream->stream), isr );    dma_diag("ctlr %08x stream %d chan %d isr %08x/n", stream->ctlr, stream->stream,             CYGHWR_HAL_STM32_DMA_CHANNEL(stream->desc), isr );    if( isr & CYGHWR_HAL_STM32_DMA_ISR_TCIF(stream->stream) )    {        // Clear all stream interrupt bits        HAL_WRITE_UINT32( stream->ctlr+CYGHWR_HAL_STM32_DMA_IFCR_REG(stream->stream),                          CYGHWR_HAL_STM32_DMA_IFCR_MASK(stream->stream) );                if( (stream->ccr & CYGHWR_HAL_STM32_DMA_CCR_CIRC) == 0)        {            // Disable the stream            HAL_WRITE_UINT32( stream->ctlr+CYGHWR_HAL_STM32_DMA_CCR(stream->stream), 0 );        }        // Update the count        HAL_READ_UINT32( stream->ctlr+CYGHWR_HAL_STM32_DMA_CNDTR(stream->stream), stream->count );        ret = CYG_ISR_CALL_DSR;    }    return ret;}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:31,


示例24: smdk2410_serial_DSR

// Serial I/O - high level interrupt handler (DSR)static void       smdk2410_serial_DSR(cyg_vector_t vector, cyg_ucount32 count, cyg_addrword_t data){    serial_channel *chan = (serial_channel *)data;    smdk2410_serial_info *smdk2410_chan = (smdk2410_serial_info *)chan->dev_priv;    CYG_ADDRWORD base = smdk2410_chan->base;    cyg_uint32 _intsubpnd, _status, _c;    cyg_uint32 _rxd_bit = (smdk2410_chan->bit_sub_rxd<<0), _txd_bit=(smdk2410_chan->bit_sub_rxd<<1);    HAL_READ_UINT32(SUBSRCPND, _intsubpnd);    // Empty Rx FIFO    if (_intsubpnd & _rxd_bit) {        HAL_READ_UINT32(base+OFS_UFSTAT, _status);        while((_status & 0x0f) != 0) {            HAL_READ_UINT8(base+OFS_URXH, _c);            (chan->callbacks->rcv_char)(chan, (unsigned char)_c);            HAL_READ_UINT32(base+OFS_UFSTAT, _status);        }        HAL_WRITE_UINT32(SUBSRCPND, _rxd_bit);    }    // Fill into Tx FIFO. xmt_char will mask the interrupt when it    // runs out of chars, so doing this in a loop is OK.    if (_intsubpnd & _txd_bit) {        (chan->callbacks->xmt_char)(chan);        HAL_WRITE_UINT32(SUBSRCPND, _txd_bit);    }    cyg_drv_interrupt_unmask(smdk2410_chan->int_num);}
开发者ID:KarenHung,项目名称:ecosgit,代码行数:32,


示例25: hal_lpc2xxx_set_leds

// Low bit of mask determines the on/off status of the LED. 0 means ON// and 1 is OFF!void hal_lpc2xxx_set_leds(int mask){    HAL_WRITE_UINT32(CYGARC_HAL_LPC2XXX_REG_IO_BASE +                      CYGARC_HAL_LPC2XXX_REG_IOSET, (1<<7));    if (mask & 1)	        HAL_WRITE_UINT32(CYGARC_HAL_LPC2XXX_REG_IO_BASE +                          CYGARC_HAL_LPC2XXX_REG_IOCLR, (1<<7));}
开发者ID:KarenHung,项目名称:ecosgit,代码行数:10,


示例26: hal_clock_initialize

void hal_clock_initialize(cyg_uint32 period){    //diag_init();  diag_printf("%s(%d)/n", __PRETTY_FUNCTION__, period);    //diag_printf("psr = %x/n", psr());    HAL_WRITE_UINT32(CYG_DEVICE_TIMER_CONTROL, CTL_DISABLE);    // Turn off    HAL_WRITE_UINT32(CYG_DEVICE_TIMER_LOAD, period);    HAL_WRITE_UINT32(CYG_DEVICE_TIMER_CONTROL,		     CTL_ENABLE | CTL_PERIODIC | CTL_SCALE_16);    _period = period;}
开发者ID:KarenHung,项目名称:ecosgit,代码行数:10,


示例27: hal_reset

//-------------------------------------------------------------------------//resetvoid hal_reset(void){    /* Unlock SLCR regs */    HAL_WRITE_UINT32(XC7Z_SYS_CTRL_BASEADDR + XSLCR_UNLOCK_OFFSET, XSLCR_UNLOCK_KEY);    /* Tickle soft reset bit */    HAL_WRITE_UINT32(0xF8000200, 1);    while (1);}
开发者ID:antmicro,项目名称:ecos-mars-zx3,代码行数:12,


示例28: spi_at91_transaction_begin

static void spi_at91_transaction_begin(cyg_spi_device *dev){    cyg_spi_at91_device_t *at91_spi_dev = (cyg_spi_at91_device_t *) dev;        cyg_spi_at91_bus_t *spi_bus =       (cyg_spi_at91_bus_t *)at91_spi_dev->spi_device.spi_bus;    cyg_uint32 val;        if (!at91_spi_dev->init)    {        at91_spi_dev->init = true;        spi_at91_calc_scbr(at91_spi_dev);    }        // Configure SPI channel 0 - this is the only channel we     // use for all devices since we drive chip selects manually        val = AT91_SPI_CSR_BITS8;    if (1 == at91_spi_dev->cl_pol)        val |= AT91_SPI_CSR_CPOL;    if (1 == at91_spi_dev->cl_pha)        val |= AT91_SPI_CSR_NCPHA;    val |= AT91_SPI_CSR_SCBR(at91_spi_dev->cl_scbr);    HAL_WRITE_UINT32(spi_bus->base+AT91_SPI_CSR0, val);     // Enable SPI clock    HAL_WRITE_UINT32(AT91_PMC+AT91_PMC_PCER, 1<<spi_bus->interrupt_number);    // Enable the SPI controller    HAL_WRITE_UINT32(spi_bus->base+AT91_SPI_CR, AT91_SPI_CR_SPIEN);        /* As we are using this driver only in master mode with NPCS0        configured as GPIO instead of a peripheral pin, it is necessary        for the Mode Failure detection to be switched off as this will       cause havoc with the driver */     // Put SPI bus into master mode    if (1 == at91_spi_dev->cl_div32) {      val = AT91_SPI_MR_MSTR | AT91_SPI_MR_DIV32;#ifdef AT91_SPI_MR_MODFDIS      val |= AT91_SPI_MR_MODFDIS;#endif      HAL_WRITE_UINT32(spi_bus->base+AT91_SPI_MR, val);    } else {      val = AT91_SPI_MR_MSTR;#ifdef AT91_SPI_MR_MODFDIS      val |= AT91_SPI_MR_MODFDIS;#endif      HAL_WRITE_UINT32(spi_bus->base+AT91_SPI_MR, val);    }}
开发者ID:KarenHung,项目名称:ecosgit,代码行数:55,


示例29: setPower

static void setPower(bool power){	savePower = power;	if (power)	{		HAL_WRITE_UINT32(ZY1000_JTAG_BASE+0x14, 0x8);	} else	{		HAL_WRITE_UINT32(ZY1000_JTAG_BASE+0x10, 0x8);	}}
开发者ID:unnamet,项目名称:estick-jtag,代码行数:11,



注:本文中的HAL_WRITE_UINT32函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ HAL_WRITE_UINT8函数代码示例
C++ HAL_UART_Transmit函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。