LibDriver
LibDriver
Thank you very much for using LibDriver. Based on the information you provided, we have found that the 'ssd1306_interface_iic-write (uint8_t addr, uint8_t reg, uint8_t * buf, uint16_tlen)' function does not...
Thank you very much for using the LibDriver MPU6050. The error 'gyro self test failed' indicates that the MPU6050 gyroscope self test has failed. Generally, there are several reasons for...
您好,昨天我们用jetson nano测试了一下ROS,自检是通过的,树莓派纯C的程序也是可以,以下是我们认为的几个原因: 1.自检的时候移动MPU6050。因为MPU6050本身自检的要求,MPU6050在自检期间不允许较大移动,否则自检计算会校验失败,自检时请不要移动MPU6050。 2.延时函数误差太大,MPU6050自检需要使用延时等待自检产生数据,驱动延时有很大的保守性一般而言存在一定误差没有问题,但是延时误差太大也会严重干扰校验过程,请确保延时的准确性。 3.IIC通信不稳定,需要至少运行/test中的register_test检测IIC通信的稳定性。 4.芯片本身问题,包括翻新、虚假芯片或者芯片自身缺陷等问题,可以更换一个MPU6050再次测试。 首先请您这边主要确认下原因1(正面向上),开发中我们遇到过翻新芯片的问题,导致无法通信或者自检失败的情况,5 - 10元(人民币)以内的大概率翻新芯片,因为一枚原装芯片大概20多元(人民币),我们推测原装芯片的MPU6050评估板可能要到30元(人民币)以上,不知道您那边知否也遇到类似的情况。
LibDriver W25QXX支持STM32HAL中的SPI_DMA传输,本库单个功能函数执行代价都很低,因为芯片命令比较多,本库对所有命令都有支持,造成代码比较多。无法触发中断可能与整个工程系统各类外设优先级分配、DMA驱动等有关,您需要提供更加详细的SPI_DMA驱动等信息,我们会帮助您一起排查问题。
为了有效的排查问题,我们可能需要更加详细的信息。如果可以的话,请您将您的工程脱敏,把整个脱敏工程发给我们([email protected]),这将有助于我们全面排查问题。如果因为安全等问题无法脱敏整个工程,请您至少把stm32f107与LibDriver_W25QXX接口实现文件以及DMA配置等相关文件发送给我们,这对我们全面分析问题很重要。
Thank you very much. Your analysis is completely correct. We have fixed this bug. You can pull again or download the v1.0.5 driver. Thank you for your help to make...
Thank you for your suggestions. We will fix this problem in the next routine update.
非常感谢您使用LibDriver提供的驱动,您从裸机切换到RTOS时,当存在多任务并发访问Flash时需要将读写等操作加互斥锁保护。因为芯片很多操作需要等待内部状态寄存器完成,您切换到RTOS时可以将驱动延时更换为RTOS延时,RTOS延时会释放系统控制权转而执行其他任务,大幅提高系统运行效率,使用此方法可以解决大部分卡顿问题。当您需要频繁或者大数量的读写时,可以考虑将SPI或者QSPI等驱动改成DMA传输,在等待DMA传输完成时,使用RTOS系统延时释放系统控制权执行其他任务或者直接使用信号量触发完成。
无法触发中断可能与整个工程系统各类外设优先级分配、DMA驱动等有关,您需要提供更加详细的SPI_DMA驱动等信息,我们会帮助您一起排查问题。
Your suggestion is very good. We will make some modifications to the current program and conduct compatibility testing. Thank you for your contribution.