打印
[技术问答]

手册找不到的寄存器配置怎么办

[复制链接]
1174|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
刚才看到有朋友问M472的ADC参考电压配置问题。发现手册是真没有提到怎么配置,但是提到了都有哪些选择。
我下载了对应的BSP开发包,找到里面的STD标准外设例程序,发现里面有用到这个参考的配置寄存器,并且有注释,于是顺藤摸瓜在sys.h头文件找到了对应的参数宏,于是知道了都有哪些选项可以使用。这就解决了手册数据不完整的问题,毕竟手册内容有限,不可能每个寄存器怎么用都写的非常详细,知道有这个功能就行了,找对应头文件,肯定有的。
沙发
玛尼玛尼哄|  楼主 | 2018-6-27 11:32 | 只看该作者
例子里这么写的
    /* Vref connect to AVDD */
    SYS->VREFCTL |= SYS_VREFCTL_VREF_AVDD;


对应的头文件部分内容如下
/*  VREFCTL constant definitions. (Write-Protection Register)                                               */
/*---------------------------------------------------------------------------------------------------------*/
#define SYS_VREFCTL_VREF_2_65V         (0x03UL<<SYS_VREFCTL_VREFCTL_Pos)    /*!<  VOUT= 2.56V  \hideinitializer */
#define SYS_VREFCTL_VREF_2_048V        (0x07UL<<SYS_VREFCTL_VREFCTL_Pos)    /*!< VOUT= 2.048V  \hideinitializer */
#define SYS_VREFCTL_VREF_3_072V        (0x0BUL<<SYS_VREFCTL_VREFCTL_Pos)    /*!< VOUT= 3.072V  \hideinitializer */
#define SYS_VREFCTL_VREF_4_096V        (0x0FUL<<SYS_VREFCTL_VREFCTL_Pos)    /*!< VOUT= 4.096V  \hideinitializer */
#define SYS_VREFCTL_VREF_AVDD          (0x10UL<<SYS_VREFCTL_VREFCTL_Pos)   /*!< VOUT= AVDD  \hideinitializer */
#define SYS_VREFCTL_ADCMODESEL_EADC    (0x1UL<<SYS_VREFCTL_ADCMODESEL_Pos) /*!< EADC mode  \hideinitializer */
#define SYS_VREFCTL_ADCMODESEL_ADC     (0x0UL<<SYS_VREFCTL_ADCMODESEL_Pos) /*!< ADC mode  \hideinitializer */
#define SYS_VREFCTL_PWMSYNCMODE_EN     (0x1UL<<SYS_VREFCTL_PWMSYNCMODE_Pos)/*!<PWM SYNC MODE ENABLED, PWM engine clock is same as HCLK  \hideinitializer */

使用特权

评论回复
板凳
xiaoqizi| | 2018-6-28 11:30 | 只看该作者
从代码里能找到源头

使用特权

评论回复
地板
Puremr| | 2018-6-28 17:07 | 只看该作者
错了,我认为数据手册是最详细的。

使用特权

评论回复
5
zhuotuzi| | 2018-6-28 20:22 | 只看该作者
楼主高明,毕竟头文件要把所有寄存器都有的,而文档不一定表露全面。

使用特权

评论回复
6
hengshu| | 2018-6-28 22:37 | 只看该作者
厉害我的国,我也是找了好久才找到的,新唐手册和例程写的太随意了,里面还有错误

捕获.PNG (32.99 KB )

捕获.PNG

使用特权

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

本版积分规则

179

主题

3127

帖子

2

粉丝