glenxu
获得 1 次赞
帮助过25人
一般认为,所有采样都有随机误差,为了减少误差,一般采用硬件滤波和软件滤波相结合,根据你说的,可以采用软件滤波,很容易消掉高频的随机干扰。有很多方法,先看看书再继续问。
很多人提到STM32的IIC库函数不好用、不稳定,由于我对C的编程知识起步,所以只能用函数做,并且也不希望自己建"PROJECT"和“INIT”在这样的基础下,经过反复试验,最终发现MX HAL建立工程、初始化非常好用。出现的问题和众多码农相同,最大的问题就是能收到地址“0X68”,所有其它数据为零不变!最终经对比发现,程序没有问题,主要问题是IIC的初始化中不能随意增加延时,很多帖子和MPU6050说明中提到要由足够的延时,其实这就是个坑,因为延时后6050又进入了休眠,所以读出的值全为零。结论是该加延时的加,比该加的不要画蛇添足!由于100K的IIC通讯速度很快,所以只在上电初始化和有复位操作后各加500mS延时,其它豆不需要,除非你强制运行在很低的CPU时钟,否则IIC的初始化和读写没有跟不上速度的问题,不需要延时。试验发现STM32F103和STM32F030对HAL库函数的IIC操作都很问题。
以上回答都对。从结构上讲,芯线表面积大,内外绝缘材料的电介常数差别很大。射频的有的绝缘甚至做成藕芯形式,就是为了提高电介常数,降低高频损耗。