打印
[技术问答]

新塘单片机M031 PDMA

[复制链接]
1653|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
feihongTC|  楼主 | 2021-11-10 13:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 feihongTC 于 2021-11-10 18:07 编辑

新塘单片机M031 PDMA 调试   M031BSP 提供的范例, 哪位大侠,能否使用过,是否有哪些设置不正确
  /* Open Channel 1 */
    PDMA_Open(PDMA, 1 << PDMA_CH);
    /* Transfer count is PDMA_TEST_LENGTH, transfer width is 32 bits(one word) */
    PDMA_SetTransferCnt(PDMA, PDMA_CH, PDMA_WIDTH_32, PDMA_TEST_LENGTH);
    /* Set source address is au8SrcArray, destination address is au8DestArray, Source/Destination increment size is 32 bits(one word) */
    PDMA_SetTransferAddr(PDMA, PDMA_CH, (uint32_t)au8SrcArray, PDMA_SAR_INC, (uint32_t)au8DestArray, PDMA_DAR_INC);
    /* Request source is memory to memory */
    PDMA_SetTransferMode(PDMA, PDMA_CH, PDMA_MEM, FALSE, 0);
    /* Transfer type is burst transfer and burst size is 4 */
    PDMA_SetBurstType(PDMA, PDMA_CH, PDMA_REQ_BURST, PDMA_BURST_4);

    /* Enable interrupt */
    PDMA_EnableInt(PDMA, PDMA_CH, PDMA_INT_TRANS_DONE);

    /* Enable NVIC for PDMA */
    NVIC_EnableIRQ(PDMA_IRQn);
    g_u32IsTestOver = 0;

    /* Generate a software request to trigger transfer with PDMA channel 1  */
    PDMA_Trigger(PDMA, PDMA_CH);

    /* Waiting for transfer done */
    while (g_u32IsTestOver == 0);

    /* Check transfer result */
    if (g_u32IsTestOver == 1)
        printf("test done...\n");
    else if (g_u32IsTestOver == 2)
        printf("target abort...\n");

    /* Close channel 1 */
    PDMA_Close(PDMA);

    while (1);

使用特权

评论回复
沙发
q1ngt12| | 2023-10-24 15:35 | 只看该作者
咋了,现在是DMA不能正常运行?

使用特权

评论回复
板凳
ex7s4| | 2023-10-24 16:13 | 只看该作者
这个例程应该就能跑吧,是你修改了啥么

使用特权

评论回复
地板
su1yirg| | 2023-10-24 17:20 | 只看该作者
一般直接参考例程啊,这样多省事儿

使用特权

评论回复
5
q1d0mnx| | 2023-10-24 19:06 | 只看该作者
现在是啥报错么,还是运行不了?

使用特权

评论回复
6
zhizia4f| | 2023-10-24 20:22 | 只看该作者
他家的PDMA好像一直有点搞不定,就不如之前ST的那种DMA好用

使用特权

评论回复
7
lix1yr| | 2023-10-24 21:23 | 只看该作者
这个我记得官方还是社区来着,有相关的例程的,而且资料好像还很全

使用特权

评论回复
8
suw12q| | 2023-10-25 07:04 | 只看该作者
没用过PDMA,都是用的DMA直接用的

使用特权

评论回复
9
p0gon9y| | 2023-10-25 08:39 | 只看该作者
你可以用仿真的方式看看,一般就是仿真都能看出的

使用特权

评论回复
10
kaif2n9j| | 2023-10-25 11:05 | 只看该作者
PDMA是啥功能?和DMA一样么?

使用特权

评论回复
11
g0d5xs| | 2023-10-25 13:05 | 只看该作者
我看你这个逻辑好像没啥问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

24

帖子

1

粉丝