mdzjx 发表于 2023-9-27 18:28

KF32A150MQV 串口DMA接收问题

1. 用的是芯旺威 KF32A150MQV
2. 串口1用作打印口
   PA15/USART1_RX
   PE0/USART1_TX
3.用gitee上下的例程,ChipON-KF32Axxx_EVL_Examples\USART\USART_Async_DMA
4.用串口助手往该串口发送数据,100ms间隔,下面这个函数可以一直返回正常的数据,但是调到6ms甚至理快时,它过一段时间就变成一个固定值了
    DMA_Get_Transfer_Number_Remain(DMA0_SFR,DMA_CHANNEL_4);
   请问哪位网友碰到过类似的问题呢?总感觉这家芯片问题多的很,如串口demo里面有一个波特率的注释,之前照着填,半天都数据不正常,最后发现这个是错的,真是头大:
    /* 波特率 =Fck/(16*z(1+x/y)) 外设时钟内部高频16M*/
    //4800    z:208    x:0    y:0
    //9600    z:104    x:0    y:0
    //19200   z:52   x:0    y:0
    //115200z:8      x:1    y:13

115200的正确值是z:4 x:1 y:12

钟爱柳州 发表于 2023-10-7 11:00

楼主,例程使用z:8 x:1 y:13配置115200波特率是基于内部高频时钟,如果配置成z:4 x:1 y:12才能达到115200波特率要检查一下 USART波特率发生器时钟

tpgf 发表于 2023-10-11 13:08

可以写一个函数根据系统的主频时钟自动更改串口波特率配置的吗

qcliu 发表于 2023-10-11 15:23

串口数据接收使用dma的话 这个速度应该很轻松

drer 发表于 2023-10-11 15:54

为什么我们要使用这个打印函数来输出呢?

coshi 发表于 2023-10-11 16:39

drer 发表于 2023-10-11 15:54
为什么我们要使用这个打印函数来输出呢?

因为使用这个函数的话 可以定义输出的格式

kxsi 发表于 2023-10-11 16:58

可以看一下串口输出波形有没有走样时序是不是正确的

wiba 发表于 2023-10-11 17:40

在连接仿真器的情况下在线调试看看是不是因为速度快导致的
页: [1]
查看完整版本: KF32A150MQV 串口DMA接收问题