打印
[APM32F1]

apm32f103ret6在rtthread下的外设驱动问题,dma使用问题

[复制链接]
240|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 yinxi12138 于 2025-5-25 13:51 编辑

#技术资源# 老板突发奇想,要将stm32换成apm32,在使用apm32f103ret6进行rtthread开发时,发现驱动代码中并没有dma的驱动代码,是极海没有进行着部分的dma开发么,还是本人没有找到。于是尝试在apm32_msp.c文件中加入串口3rx以及tx的dma使能代码(代码来自极海apm32f103xe串口dma例程)。dma使用失败。后面计划
1.尝试使用adc的dma功能,读取ntc传感器温度,检查adc的dma实行方案。
2.使用rs485的软件包,并启用dma,试验该能否启用芯片的串口dma。

结果:使用rs485软件包并启动dma,提示RT_SERIAL_RB_BUFSZ过小,请增加buff的警告。在增加到2048,仍是警告但是我的发送不到20字节。按照网上办法,增加线程的优先级,仍是出现警报,关闭dma功能仍是出现警报。drv_usart.c文件中,apm32_usart_ops.dma_transmit = RT_NULL,极海没有编写串口dma驱动。最后项目赶,自己写了一个rs485的代码,直接使用中断加定时器方式获取一帧modbus rtu协议的数据。实现每200ms,读取一个寄存器的稳定运行。等后面有时间仿照stm32的dma驱动看能不能成功。
小想法:amp32这一款芯片有着丰富的dma资源,在做物联网方面肯定有优势的,但是在rtthreados,并没有对这一优势进行发挥。要想和stm32系列竞争还是要注重初级开发者的学习上来,尤其是学生群体。



使用特权

评论回复
沙发
Gfan| | 2025-5-26 11:15 | 只看该作者
本帖最后由 Gfan 于 2025-5-26 11:17 编辑

您好,感谢您的建议~RT-Thread我们有demo的哈,可在103页面底部下载资源

https://www.geehy.com/product/fifth/APM32F103

使用特权

评论回复
评论
Gfan 2025-5-26 13:18 回复TA
@yinxi12138 :嗯,可以试试的 
yinxi12138 2025-5-26 12:33 回复TA
之前是直接再rtthread studio 上进行芯片选择,创建的项目并开发的,没有试过bsp的方式。你们官方给的历程有dma驱动?有机会有机会再尝试一下。 
板凳
分形梦想家| | 2025-5-30 18:39 | 只看该作者
还是自己写一下,用着放心

使用特权

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

本版积分规则

2

主题

5

帖子

0

粉丝