
STM32 F407骄阳电机版用DMA双缓存接收串口数据时,上电第一次接收区是memory1而不是memory0?
STM32F407骄阳版用DMA双缓存区接收串口数据,上电第一次接收到的数据在memory1而不是memory0
stm32f407无法配置定时器2为全部dma
FreeRTOS问题求解
使用stm32F407连接PHY芯片进行以太网通讯,一插网线就会进入错误中断。
ST的IMU和地磁计用motionfx库融合后航向角异常的问题
CUEBIDE生成的APP程序,在写入FLASH之后无法正常跳转。
有关Cubeide IAP 问题
stm32驱动st7735屏幕区分地图上的障碍物.
stm32cubumx使用1.28.0固件包无法初始化fsmc
[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出来只有一个功率地,错误少了一点,猜测可能是地的原因,