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

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

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

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

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

示例1: spi_sndblock

static void spi_sndblock(FAR struct spi_dev_s *dev, FAR const void *buffer, size_t nwords){    FAR const uint8_t *ptr = (FAR const uint8_t *)buffer;    uint8_t sr;    /* Loop while thre are bytes remaining to be sent */    spidbg("nwords: %d/n", nwords);    while (nwords > 0)    {        /* While the TX FIFO is not full and there are bytes left to send */        while ((getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_TNF) && nwords)        {            /* Send the data */            putreg16((uint16_t)*ptr, LPC214X_SPI1_DR);            ptr++;            nwords--;        }    }    /* Then discard all card responses until the RX & TX FIFOs are emptied. */    spidbg("discarding/n");    do    {        /* Is there anything in the RX fifo? */        sr = getreg8(LPC214X_SPI1_SR);        if ((sr & LPC214X_SPI1SR_RNE) != 0)        {            /* Yes.. Read and discard */            (void)getreg16(LPC214X_SPI1_DR);        }        /* There is a race condition where TFE may go true just before         * RNE goes true and this loop terminates prematurely.  The nasty little         * delay in the following solves that (it could probably be tuned         * to improve performance).         */        else if ((sr & LPC214X_SPI1SR_TFE) != 0)        {            up_udelay(100);            sr = getreg8(LPC214X_SPI1_SR);        }    }    while ((sr & LPC214X_SPI1SR_RNE) != 0 || (sr & LPC214X_SPI1SR_TFE) == 0);}
开发者ID:grissiom,项目名称:muttx-mirror,代码行数:51,


示例2: spi_select

static void spi_select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){#ifdef CONFIG_DEBUG_SPI  uint32_t regval;#endif  uint32_t bit = 1 << 20;  /* We do not bother to check if devid == SPIDEV_DISPLAY because that is the   * only thing on the bus.   */#ifdef CONFIG_DEBUG_SPI  regval = getreg32(CS_PIN_REGISTER);#endif  if (selected)    {      /* Enable slave select (low enables) */      putreg32(bit, CS_CLR_REGISTER);      spidbg("CS asserted: %08x->%08x/n", regval, getreg32(CS_PIN_REGISTER));    }  else    {      /* Disable slave select (low enables) */      putreg32(bit, CS_SET_REGISTER);      spidbg("CS de-asserted: %08x->%08x/n", regval, getreg32(CS_PIN_REGISTER));      /* Wait for the TX FIFO not full indication */      while (!(getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_TNF));      putreg16(0xff, LPC214X_SPI1_DR);      /* Wait until TX FIFO and TX shift buffer are empty */      while (getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_BSY);      /* Wait until RX FIFO is not empty */      while (!(getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_RNE));      /* Then read and discard bytes until the RX FIFO is empty */      do        {          (void)getreg16(LPC214X_SPI1_DR);        }      while (getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_RNE);    }}
开发者ID:FreddieChopin,项目名称:NuttX,代码行数:51,


示例3: stm32_spi3select

void stm32_spi3select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");  /* SPI3 connects to TFT LCD (for touchscreen and SD) and the RF24L01 2.4G   * wireless module.   */  if (devid == SPIDEV_TOUCHSCREEN)    {      /* Set the GPIO low to select and high to de-select */      stm32_gpiowrite(GPIO_TP_CS, !selected);    }  else if (devid == SPIDEV_MMCSD)    {      /* Set the GPIO low to select and high to de-select */      stm32_gpiowrite(GPIO_LCDDF_CS, !selected);    }  else if (devid == SPIDEV_FLASH)    {      /* Set the GPIO low to select and high to de-select */      stm32_gpiowrite(GPIO_LCDSD_CS, !selected);    }  else if (devid == SPIDEV_WIRELESS)    {      /* Set the GPIO low to select and high to de-select */      stm32_gpiowrite(GPIO_WIRELESS_CS, !selected);    }}
开发者ID:FreddieChopin,项目名称:NuttX,代码行数:33,


示例4: stm32_spi3select

void stm32_spi3select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){	spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");	/* there can only be one device on this bus, so always select it */	stm32_gpiowrite(GPIO_SPI_CS_SDCARD, !selected);}
开发者ID:zhao0079,项目名称:px_nxbuilder,代码行数:7,


示例5: stm32_spi1select

void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  const char *type;  switch (devid) {#ifdef CONFIG_WL_CC3000    case SPIDEV_WIRELESS:      type = "wireless";      break;#endif    default:      type = "unknown";      break;  }  spidbg("devid: %d, type: %s, CS: %sassert/n", (int)devid, type, selected ? "" : "de-");  (void)type;  if (0)    {    }#ifdef CONFIG_WL_CC3000  else if (devid == SPIDEV_WIRELESS)    {      board_set_chip_select(CHIP_SELECT_SPI1_WLAN, selected);    }#endif}
开发者ID:JforGitHub,项目名称:thingsee-sdk,代码行数:29,


示例6: spi_recvblock

static void spi_recvblock(FAR struct spi_dev_s *dev, FAR void *buffer, size_t nwords){    FAR uint8_t *ptr = (FAR uint8_t*)buffer;    uint32_t rxpending = 0;    /* While there is remaining to be sent (and no synchronization error has occurred) */    spidbg("nwords: %d/n", nwords);    while (nwords || rxpending)    {        /* Fill the transmit FIFO with 0xff...         * Write 0xff to the data register while (1) the TX FIFO is         * not full, (2) we have not exceeded the depth of the TX FIFO,         * and (3) there are more bytes to be sent.         */        spivdbg("TX: rxpending: %d nwords: %d/n", rxpending, nwords);        while ((getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_TNF) &&                (rxpending < LPC214X_SPI1_FIFOSZ) && nwords)        {            putreg16(0xff, LPC214X_SPI1_DR);            nwords--;            rxpending++;        }        /* Now, read the RX data from the RX FIFO while the RX FIFO is not empty */        spivdbg("RX: rxpending: %d/n", rxpending);        while (getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_RNE)        {            *ptr++ = (uint8_t)getreg16(LPC214X_SPI1_DR);            rxpending--;        }    }}
开发者ID:grissiom,项目名称:muttx-mirror,代码行数:35,


示例7: stm32_spi2cmddata

int stm32_spi2cmddata(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool cmd){  const char *type;  switch (devid) {    case SPIDEV_DISPLAY:      type = "display";      break;    default:      type = "unknown";      break;  }  spidbg("devid: %d, type: %s, cmddata: %sassert/n", (int)devid, type, cmd ? "" : "de-");  (void)type;  if (devid == SPIDEV_DISPLAY)    {      bool default_on = !!(GPIO_LCD_SSD1309_CMDDATA & GPIO_OUTPUT_SET);      stm32_gpiowrite(GPIO_LCD_SSD1309_CMDDATA, !!cmd ^ default_on);    }  return -ENODEV;}
开发者ID:JforGitHub,项目名称:thingsee-sdk,代码行数:26,


示例8: stm32_spi3select

void stm32_spi3select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  const char *type;  switch (devid) {#ifdef CONFIG_MMCSD    case SPIDEV_MMCSD:      type = "mmcsd";      break;#endif    default:      type = "unknown";      break;  }  spidbg("devid: %d, type: %s, CS: %sassert/n", (int)devid, type, selected ? "" : "de-");  (void)type;  if (0)    {    }#ifdef CONFIG_MMCSD  else if (devid == SPIDEV_MMCSD)    {      board_set_chip_select(CHIP_SELECT_SPI3_SDCARD, selected);    }#endif}
开发者ID:JforGitHub,项目名称:thingsee-sdk,代码行数:29,


示例9: stm32_spiinitialize

void weak_function stm32_spiinitialize(void){#ifdef CONFIG_STM32_SPI1  /* Configure SPI-based devices */  g_spi1 = up_spiinitialize(1);  if (!g_spi1)    {      spidbg("[boot] FAILED to initialize SPI port 1/n");    }#ifdef CONFIG_WL_CC3000  stm32_configgpio(GPIO_SPI_CS_WIFI);#endif#ifdef HAVE_MMCSD  stm32_configgpio(GPIO_SPI_CS_SD_CARD);#endif#endif#ifdef CONFIG_STM32_SPI2  /* Configure SPI-based devices */  g_spi2 = up_spiinitialize(2);  /* Setup CS, EN & IRQ line IOs */#ifdef CONFIG_WL_CC3000  stm32_configgpio(GPIO_WIFI_CS);  stm32_configgpio(GPIO_WIFI_EN);  stm32_configgpio(GPIO_WIFI_INT);#endif#endif}
开发者ID:acassis,项目名称:ros2_nuttx,代码行数:34,


示例10: stm32_spi1select

void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");  if (devid == SPIDEV_USER)    {      stm32_gpiowrite(USER_CSn, !selected);    }}
开发者ID:acassis,项目名称:ros2_nuttx,代码行数:8,


示例11: stm32_spi1select

void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){	spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");	switch (devid) {	case PX4_SPIDEV_GYRO:		stm32_gpiowrite(GPIO_SPI_CS_GYRO, !selected);		break;	case PX4_SPIDEV_ACCEL:		stm32_gpiowrite(GPIO_SPI_CS_ACCEL, !selected);		break;	default:		spidbg("devid: %d - unexpected/n", devid);		break;			}}
开发者ID:zhao0079,项目名称:px_nxbuilder,代码行数:17,


示例12: stm32_spi3select

void stm32_spi3select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");  if (devid == SPIDEV_FLASH)  {    /* Set the GPIO low to select and high to de-select */    stm32_gpiowrite(GPIO_FRAM_CS, !selected);  }}
开发者ID:LindaLovelace,项目名称:nuttx-stm32f4disc-bb,代码行数:9,


示例13: pic32mx_spi1select

void  pic32mx_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");  if (devid == SPIDEV_MMCSD)    {      pic32mx_gpiowrite(GPIO_SD_CS, !selected);    }}
开发者ID:1015472,项目名称:PX4NuttX,代码行数:9,


示例14: spi_status

static uint8_t spi_status(FAR struct spi_dev_s *dev, enum spi_dev_e devid){    /* I don't think there is anyway to determine these things on the mcu123.com     * board.     */    spidbg("Return SPI_STATUS_PRESENT/n");    return SPI_STATUS_PRESENT;}
开发者ID:grissiom,项目名称:muttx-mirror,代码行数:9,


示例15: stm32_spi2select

void stm32_spi2select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");#if defined(CONFIG_MMCSD)  if (devid == SPIDEV_MMCSD)    {      stm32_gpiowrite(MMCSD_CSn, !selected);    }#endif}
开发者ID:acassis,项目名称:ros2_nuttx,代码行数:10,


示例16: stm32_spi2select

void stm32_spi2select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");#ifdef CONFIG_WL_CC3000  if (devid == SPIDEV_WIRELESS)    {      stm32_gpiowrite(GPIO_WIFI_CS, !selected);    }#endif}
开发者ID:acassis,项目名称:ros2_nuttx,代码行数:11,


示例17: spi_select

static void spi_select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){    uint32_t bit = 1 << 20;    if (selected)    {        /* Enable slave select (low enables) */        spidbg("CD asserted/n");        putreg32(bit, CS_CLR_REGISTER);    }    else    {        /* Disable slave select (low enables) */        spidbg("CD de-asserted/n");        putreg32(bit, CS_SET_REGISTER);        /* Wait for the TX FIFO not full indication */        while (!(getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_TNF));        putreg16(0xff, LPC214X_SPI1_DR);        /* Wait until TX FIFO and TX shift buffer are empty */        while (getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_BSY);        /* Wait until RX FIFO is not empty */        while (!(getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_RNE));        /* Then read and discard bytes until the RX FIFO is empty */        do        {            (void)getreg16(LPC214X_SPI1_DR);        }        while (getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_RNE);    }}
开发者ID:grissiom,项目名称:muttx-mirror,代码行数:40,


示例18: pic32mx_spi2select

void  pic32mx_spi2select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");  if (devid == SPIDEV_FLASH)    {      pic32mx_gpiowrite(GPIO_SST25VF032B_CS, !selected);    }  else if (devid == SPIDEV_MUX)    {      pic32mx_gpiowrite(GPIO_PGA117_CS, !selected);    }}
开发者ID:andrecurvello,项目名称:NuttX,代码行数:13,


示例19: spi_cmddata

static int spi_cmddata(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool cmd){#ifdef CONFIG_DEBUG_SPI  uint32_t regval;#endif  uint32_t bit = 1 << 23;  /* We do not bother to check if devid == SPIDEV_DISPLAY because that is the   * only thing on the bus.   */  /* "This is the Data/Command control pad which determines whether the   *  data bits are data or a command.   *   *  A0 = H: the inputs at D0 to D7 are treated as display data.   *  A0 = L: the inputs at D0 to D7 are transferred to the command registers."   */#ifdef CONFIG_DEBUG_SPI  regval = getreg32(CS_PIN_REGISTER);#endif  if (cmd)    {      /* L: the inputs at D0 to D7 are transferred to the command registers */      putreg32(bit, CS_CLR_REGISTER);      spidbg("Command: %08x->%08x/n", regval, getreg32(CS_PIN_REGISTER));    }  else    {      /* H: the inputs at D0 to D7 are treated as display data. */      putreg32(bit, CS_SET_REGISTER);      spidbg("Data: %08x->%08x/n", regval, getreg32(CS_PIN_REGISTER));    }  return OK;}
开发者ID:FreddieChopin,项目名称:NuttX,代码行数:39,


示例20: stm32_spi2select

void stm32_spi2select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");#ifdef CONFIG_INPUT_ADS7843E  /* Select/de-select the touchscreen */  if (devid == SPIDEV_TOUCHSCREEN)    {      stm32_gpiowrite(GPIO_LCDTP_CS, !selected);    }#endif}
开发者ID:jrosberg,项目名称:NuttX-L21,代码行数:13,


示例21: stm32_spi1select

void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");#ifdef CONFIG_LCD_UG2864AMBAG01  if (devid == SPIDEV_DISPLAY)    {      stm32_gpiowrite(GPIO_OLED_CS, !selected);    }  else#endif    {      stm32_gpiowrite(GPIO_CS_MEMS, !selected);    }}
开发者ID:andrecurvello,项目名称:NuttX,代码行数:15,


示例22: stm32_spi2select

void stm32_spi2select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){    spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");        if (devid == SPIDEV_WIRELESS) {            stm32_gpiowrite(GPIO_CC1101_CS, !selected);        /* Wait for MISO to go low, indicates that Quart has stabilized */        if (selected) {            while( stm32_gpioread(GPIO_SPI2_MISO) ) up_waste();        }            }}
开发者ID:LindaLovelace,项目名称:nuttx-stm32f4disc-bb,代码行数:15,


示例23: sam3u_spiselect

int sam3u_spiselect(enum spi_dev_e devid){  int cs = -EINVAL;#if defined(CONFIG_INPUT) && defined(CONFIG_INPUT_ADS7843E)  if (devid == SPIDEV_TOUCHSCREEN)    {      /* Assert the CS pin to the OLED display */	  cs = 2;    }#endif  spidbg("devid: %d CS: %d/n", (int)devid, cs);  return cs;}
开发者ID:drasko,项目名称:opendous_nuttx,代码行数:16,


示例24: stm32_spi1select

void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");#ifdef CONFIG_WL_CC3000  if (devid == SPIDEV_WIRELESS)    {      stm32_gpiowrite(GPIO_SPI_CS_WIFI, !selected);    }  else#endif#ifdef HAVE_MMCSD  if (devid == SPIDEV_MMCSD)    {      stm32_gpiowrite(GPIO_SPI_CS_SD_CARD, !selected);    }#endif}
开发者ID:acassis,项目名称:ros2_nuttx,代码行数:18,


示例25: stm32_spi1select

void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  spidbg("devid: %d CS: %s/n", (int)devid, selected ? "assert" : "de-assert");  /* SPI1 connects to the SD CARD and to the SPI FLASH */  if (devid == SPIDEV_MMCSD)    {      /* Set the GPIO low to select and high to de-select */      stm32_gpiowrite(GPIO_SD_CS, !selected);    }  else if (devid == SPIDEV_FLASH)    {      /* Set the GPIO low to select and high to de-select */      stm32_gpiowrite(GPIO_FLASH_CS, !selected);    }}
开发者ID:FreddieChopin,项目名称:NuttX,代码行数:19,


示例26: spi_setfrequency

static uint32_t spi_setfrequency(FAR struct spi_dev_s *dev, uint32_t frequency){    uint32_t divisor = LPC214X_PCLKFREQ / frequency;    if (divisor < 2)    {        divisor = 2;    }    else if (divisor > 254)    {        divisor = 254;    }    divisor = (divisor + 1) & ~1;    putreg8(divisor, LPC214X_SPI1_CPSR);    spidbg("Frequency %d->%d/n", frequency, LPC214X_PCLKFREQ / divisor);    return LPC214X_PCLKFREQ / divisor;}
开发者ID:grissiom,项目名称:muttx-mirror,代码行数:19,


示例27: stm32_spi2select

void stm32_spi2select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected){  const char *type;  switch (devid) {    case SPIDEV_DISPLAY:      type = "display";      break;    default:      type = "unknown";      break;  }  spidbg("devid: %d, type: %s, CS: %sassert/n", (int)devid, type, selected ? "" : "de-");  (void)type;  if (devid == SPIDEV_DISPLAY)    {      board_set_chip_select(CHIP_SELECT_SPI2_DISPLAY, selected);    }}
开发者ID:JforGitHub,项目名称:thingsee-sdk,代码行数:22,


示例28: spi_send

static uint16_t spi_send(FAR struct spi_dev_s *dev, uint16_t wd){    register uint16_t regval;    /* Wait while the TX FIFO is full */    while (!(getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_TNF));    /* Write the byte to the TX FIFO */    putreg16((uint8_t)wd, LPC214X_SPI1_DR);    /* Wait for the RX FIFO not empty */    while (!(getreg8(LPC214X_SPI1_SR) & LPC214X_SPI1SR_RNE));    /* Get the value from the RX FIFO and return it */    regval = getreg16(LPC214X_SPI1_DR);    spidbg("%04x->%04x/n", wd, regval);    return regval;}
开发者ID:grissiom,项目名称:muttx-mirror,代码行数:22,


示例29: pic32mx_spi1status

uint8_t pic32mx_spi1status(FAR struct spi_dev_s *dev, enum spi_dev_e devid){  uint8_t ret = 0;  /* Card detect active low. */  if (devid == SPIDEV_MMCSD)    {      if (!pic32mx_gpioread(GPIO_SD_CD))        {          ret = SPI_STATUS_PRESENT;          /* A high value indicates the the card is write protected. */          if (pic32mx_gpioread(GPIO_SD_WP))            {              ret |= SPI_STATUS_WRPROTECTED;            }        }    }  spidbg("Returning %02x/n", ret);  return ret;}
开发者ID:1015472,项目名称:PX4NuttX,代码行数:24,



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


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