CCss131

  • 2019-11-05
  • 回复了主题帖: SDIO方式连接TF卡初始化失败

    版主请问一下,搭建好文件系统,需要从SD卡中读取RGB565的bmp格式的TXT文件里面的数据怎么编写代码可以存到数组里面啊?长度有点长

  • 2019-10-17
  • 回复了主题帖: SDIO方式连接TF卡初始化失败

    版主你好,怎么样获取SCR、SSR、CSR的内容?

  • 2019-10-10
  • 回复了主题帖: SDIO方式连接TF卡初始化失败

    本帖最后由 CCss131 于 2019-10-10 16:06 编辑  while (!(SDIO->STA & (SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_DBCKEND| SDIO_FLAG_STBITERR)))    {                  if (SDIO_GetFlagStatus(SDIO_FLAG_RXDAVL) != RESET)       {                     *(tempscr + index) = SDIO_ReadData();                  index++;                       if(index > 1 )                  break;     } 注释了这段上面这段代码,SD卡初始化成功,到了SD_EraseTest()的擦除测试里面的 uint32_t SD_DMAEndOfTransferStatus(void) {   return (uint32_t)DMA_GetFlagStatus(DMA2_FLAG_TC4);   //Channel4 transfer complete flag.  } 在DMA_GetFlagStatus中bitstatus就一直重置SD_WaitReadOperation   

  • 2019-10-09
  • 回复了主题帖: SDIO方式连接TF卡初始化失败

    本帖最后由 CCss131 于 2019-10-9 16:55 编辑 版主你好,补充一下在运行到开启4bits模式中的FindSCR函数中就判断不了了,是什么原因?SCR寄存器读到是0x0800067E

  • 回复了主题帖: SDIO方式连接TF卡初始化失败

    版主你好,硬件加了上拉,程序是可以识别有没有插入TF卡的,但是到了初始化卡那里就循环判断了 进入这个判断,这时SDIO_FLAG的值是0x00200000,根据介绍是 SDIO_FLAG_RXDAVL:   Data available in receive FIFO 这个值也是0x00200000,所以在判断不等于RESET值时,不符合就一直循环在这两个函数中。所以应该怎么解决? FlagStatus SDIO_GetFlagStatus(uint32_t SDIO_FLAG) {    FlagStatus bitstatus = RESET;      /* Check the parameters */   assert_param(IS_SDIO_FLAG(SDIO_FLAG));   if ((SDIO->STA & SDIO_FLAG) != (uint32_t)RESET)   {     bitstatus = SET;   }   else   {     bitstatus = RESET;   }   return bitstatus; }

  • 2019-10-07
  • 发表了主题帖: SDIO方式连接TF卡初始化失败

    代码运行到此处进入到FindSCR函数中在while和if中死循环了,跳不出判断条件,请问一下有大佬会解决吗?试了好多办法都不行 /*!< Get SCR Register */   errorstatus = FindSCR(RCA, scr);  while (!(SDIO->STA & (SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_DBCKEND| SDIO_FLAG_STBITERR)))    {                  if (SDIO_GetFlagStatus(SDIO_FLAG_RXDAVL) != RESET)       {                     *(tempscr + index) = SDIO_ReadData();                  index++;                       if(index > 1 )                  break;     }        }

  • 2019-09-18
  • 回复了主题帖: lps33hw的stm32f103工程

    对,把while封装成一个函数,再重新在mian中的while调用就进不去这条函数,只是读到who am i 之后就没有时序了,就是没有进入到这条函数中。  

  • 回复了主题帖: lps33hw的stm32f103工程

            void lps33hw_get_data(void)         {         /*         * Read output only if new value is available         */         lps33hw_reg_t reg;         lps33hw_read_reg(&dev_ctx, LPS33HW_STATUS, (uint8_t *)®, 1);                   if (reg.status.p_da)         {         memset(data_raw_pressure.u8bit, 0x00, sizeof(int32_t));         lps33hw_pressure_raw_get(&dev_ctx, data_raw_pressure.u8bit);         pressure_hPa = lps33hw_from_lsb_to_hpa( data_raw_pressure.i32bit);                   sprintf((char*)tx_buffer, "pressure [hPa]:%6.2f\r\n", pressure_hPa);         tx_com( tx_buffer, strlen( (char const*)tx_buffer ) );         }                   if (reg.status.t_da)         {         memset(data_raw_temperature.u8bit, 0x00, sizeof(int16_t));         lps33hw_temperature_raw_get(&dev_ctx, data_raw_temperature.u8bit);         temperature_degC = lps33hw_from_lsb_to_degc( data_raw_temperature.i16bit );                   sprintf((char*)tx_buffer, "temperature [degC]:%6.2f\r\n", temperature_degC );         tx_com( tx_buffer, strlen( (char const*)tx_buffer ) );         }         }         我是说将这一部分封装成一条函数,在mian中先初始化它配置寄存器的那一部分,然后再在while(1)调用lps33hw_get_data,但是代码初始化它之后,就不判断状态寄存器和输出数据了

  • 2019-09-17
  • 回复了主题帖: lps33hw的stm32f103工程

    http://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=605216&highlight=LPS22HB 版主,就像你所介绍的一样,需要多次循环数据,不止31次才准备完毕,这是硬件的关系吗?打印数据的话可以直接获取的得到的值吧,还有如果我人为对它进行加压,怎么才能快速捕捉它的数据

  • 回复了主题帖: lps33hw的stm32f103工程

    对的我用这段代码初始化之后直接while(1)是可以一直读STATUS寄存器,   然后我定义这段为另一个函数在mian中的while(1)中调用,时序去到初始化CTRL_REG1之后,就没时序了,仿真发现是调用lps33hw_read_reg时进入硬件错误死循环,应该怎么解决,我想的是不断输出然后打印到PC的串口助手

  • 回复了主题帖: lps33hw的stm32f103工程

    初始化化第一条函数之后CTRL_REG1 (10h)里面读到时0x02,配置CTRL_REG1 (10h)寄存器的ODR2 之后直接就没再读直接读取状态寄存器了,后面就只输出一次数据 1.  lps33hw_block_data_update_set(&dev_ctx, PROPERTY_ENABLE); 2.lps33hw_data_rate_set(&dev_ctx, LPS33HW_ODR_10_Hz);

  • 回复了主题帖: lps33hw的stm32f103工程

    对的对的我弄反了,换算应该是这个顺序 0x3F 0x10 0x70,得出是1009, 手册里面说:为了保证BDU特性的正确行为,PRESS_OUT_H (2Ah)必须是最后一个地址 阅读。所以那个0X3F是(2Ah)里面的内容。 BDU(1)块数据更新。默认值:0 (0:连续更新; 1:读取MSB和LSB后才更新输出寄存器)   这个怎么理解是SPI的MSB和LSB 还是头文件的声明的LSB? #define LPS33HW_FROM_LSB_TO_hPa(lsb)     (float)( lsb / 4096.0f ) #define LPS33HW_FROM_LSB_TO_degC(lsb)    (float)( lsb / 100.0f )

  • 回复了主题帖: lps33hw的stm32f103工程

    本帖最后由 CCss131 于 2019-9-17 14:16 编辑 版主你好, 1.我的这个气压传感器读PRESS_OUT_XL (28h)是0x70 0x10 0x3F换算出来是1793mbar,我测了好多次都是在2000左右,应该是什么问题? 2.温度TEMP_OUT_L (2Bh)的值换算是除以100,得出来的值也是比较大,是什么原因? 3.应该怎么配置初始化,能让STATUS (27h)判断到P.DA为1,不断输出检测的压力数据啊?因为只输出一次数据,后面读状态寄存器里面的值都是0x00。

  • 2019-09-09
  • 回复了主题帖: lps33hw的stm32f103工程

    版主你好,请问一下INT_DRDY这个引脚有什么用,要怎么配置它?用ADC采样吗?还有现在用硬件的SPI驱动LPS33HW,程序卡在了这里,应该怎么解决   whoamI = 0;   lps33hw_device_id_get(&dev_ctx, &whoamI);   if ( whoamI != LPS33HW_ID )         while(1)

  • 2019-09-06
  • 回复了主题帖: lps33hw的stm32f103工程

    版主帮我看一下

  • 回复了主题帖: lps33hw的stm32f103工程

    搞不好,版主有没有用STM32F103驱动的相似例程

  • 回复了主题帖: lps33hw的stm32f103工程

    我是直接用 platform_read函数在while(1)里面读,是不是用模拟I2C会容易一点    

  • 2019-09-05
  • 回复了主题帖: lps33hw的stm32f103工程

    读不出来,没有读到WHO AN I里面的 10110001 是不是我配置的函数不正确?

  • 回复了主题帖: lps33hw的stm32f103工程

    波形是这样的,应该怎么去读WHO AM I的地址啊?

  • 回复了主题帖: lps33hw的stm32f103工程

    版主你好,我用SPI通信,MISO没有返回值,在platform_write中对应 u8 SPIx_Send_Byte(SPI_TypeDef* SPIx, u8 dat) {         u8 retry = 0;                                                           while(SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_TXE) == RESET)             {                 retry++;                 if(retry > 200)                         return 0;         }                 SPI_I2S_SendData(SPIx, data);                                              retry = 0;         while(SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_RXNE) == RESET)            {                 retry++;                 if(retry > 200)                         return 0;         }                 return SPI_I2S_ReceiveData(SPIx);      里面死循环了才出来,应该是什么问题

最近访客

< 1/1 >

统计信息

已有3人来访过

  • 芯币:68
  • 好友:1
  • 主题:2
  • 回复:23
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言