打印
[活动]

【APM32F411V Tiny Board测评】代码、文档和工具勘误

[复制链接]
433|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 [鑫森淼焱垚] 于 2024-5-30 10:48 编辑


代码
    代码勘误1--apm32f4xx_adc.c 多处注释错误
文档
    GPIO 寄存器和文档不匹配
工具
    SVD 文件中DMA2描述错误,M0ADDR 插入到了 M1ADDR5 下面,错误。

代码

当前代码基于 APM32F4xx_SDK_V1.4 版本。

代码勘误1--apm32f4xx_adc.c 多处注释错误

函数 ADC_EnableDMARequest() 返回值类型为 void。但是代码注释却写了函数返回值为 The Data conversion value.

此源文件中出现了多次这样的注释,但只有前两次和最后一次符合函数意图,其他都是复制粘贴的。


文档

GPIO 寄存器和文档不匹配

参考 《APM32F411xCxE 用户手册 V1.4.pdf》,12.6.7 GPIO 端口置位/复位寄存器 GPIOx_BSC ,文档如下:

低16位 Bsy 表示管脚输出高电平,高16位 Bcy 表示管脚输出低电平。但是代码中引用的是 BSCH 寄存器,这是文档和代码不匹配的疏漏。

工具

SVD 文件中DMA2描述错误,M0ADDR 插入到了 M1ADDR5 下面,错误。

按道理 DMA2_STREAM5 和 DMA2_STREAM6 描述相同,分别有 M0ADDR5/M1ADDR5,也有 M0ADDR6/M1ADDR6。实际上 DMA2_STREAM5 的描述错误。
我在这里传入内存地址 memoryBaseAddr 0x2000C5E4,外设数据地址 SPI1->DATA 地址 0x4001300C到 peripheralBaseAddr,其中外设数据寄存器地址成功设置到 PADDR5,但是内存地址 0x2000C5E4 设置出错。


使用特权

评论回复
沙发
星辰大海不退缩| | 2024-6-22 20:59 | 只看该作者
其实代码难免有BUG的还是在实践中多应用

使用特权

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

本版积分规则

16

主题

96

帖子

0

粉丝