
uboot初始化IIC1,跳转到应用程序中后,先读一字节AT24C04的数据,然后初始化IIC1(未复位),再读一字节AT24C04时,有概率一直检测到IIC处于busy状态。
STM32F407的flash读写问题
keil调试阶段无法进行仿真,能进到仿真界面,但是无法执行程序,这个怎么解决?
STM32F4的IO口5V容忍问题
询问STM32F407两种USB可以实现的功能
TOF传感器(VL53L5),无法得到data ready
在CUBEMX生成的STM32F407VET6的I2S主机接收模式与I2S主机发送模式能正常运行,如何进行动态调整或者如何实现主机全双工?
STM32F407 多机RS485串口通讯+地址位唤醒+DMA空闲线接收,无法进入中断服务程序。
设置RDP等级为2的同时,有什么办法可以确保后续还能够烧录程序
STM32F407VET6 I2S 采用DMA传输问题
[md]其实就是PCB地线对串口数据造成的干扰,硬件问题排的脑瓜子嗡嗡的
具体怎么个错法,数据坏掉还是数据丢失?
如果说是数据坏掉,即接收到的数据跟发送的数据相比出现数据位的混乱,若是这样,有点费解。
因为修改占空比按理影响不到UART的正常接收。这点基于你的软硬件做现场测试确认可能更方便点。
如果说是数据丢失或覆盖,会不会是因为修改占空比而未能及时处理UART的接收呢?这样的话,我们可以
将UART接收改为DMA验证下。
量测一下串口2数据的波形,推测多半是空间干扰影响的。如果是,就需要改善一下PCB走线或布局。
你说占空比快速变化时影响到串口2的接收,言外之意,占空比不变时没问题,是这个意思吧。如果是这样,你所说的接收频繁出错具体怎么个错法,数据坏掉还是数据丢失?
如果说是数据坏掉,即接收到的数据跟发送的数据相比出现数据位的混乱,若是这样,有点费解。
因为修改占空比按理影响不到UART的正常接收。这点基于你的软硬件做现场测试确认可能更方便点。
如果说是数据丢失或覆盖,会不会是因为修改占空比而未能及时处理UART的接收呢?这样的话,我们可以将UART接收改为DMA验证下。
还有,具体用到哪些管脚,你说的PWM占空比快速变化是如何实现的?
[md]程序是电机FOC控制方面的,串口2用的是空闲中断+DMA的方式接收位置编码器的数据,rs485通信(2.5M波特率),定时器1是6路PWM输出。定占空比的时候没有发现错误,但是编码器返回的角度快速变化时,经FOC运算后写CCR值,计算出占空比也在快速变化(FOC是20khz频率),这时发现在串口中断接收的数据,经过CRC校验有很多错误数据(相对于20kH,就是几万个数据里面出现一个,也不算多,但是会影响电机运行),但是在RS485芯片接收引脚测量波形读出来的数据是没有错误的。
经过几天的排除,软件基本确定没有问题,软件这边确定的现象是关闭U相的下管PWM后,错误明显减少了。硬件部分电源开关等各种噪声都排除了,不存在空间电磁干扰,串口2选的PA16,17,定时器1选的PA8,9,10和PB13,14,15,两者距离比较远,最大的可能性是输出pwm的驱动部分有一路走线靠近晶振,但是跳线后错误也还是一样,示波器又抓不到晶振的波形,不好确定;最后把各个地都割了,pwm出来只有一个功率地,错误少了一点,猜测可能是地的原因,