历史上的今天
今天是:2024年09月17日(星期二)
2021年09月17日 | STM8单片机 ADC模拟看门狗中文资料错误
2021-09-17 来源:eefocus
在调试stm8单片机的adc模拟看门狗功能时,不管怎么设置ADC_HTR和ADC_LTR寄存器的值,然后通过IAR软件单步调试时观察这两个寄存器的值都不对。





根据中文手册上看,高位寄存器存储的是10位数据的高两位,低位寄存器存储的是数据的低8位。但是按照这种方式,将数据写入寄存器后,然后通过变量观察窗口观察这四个寄存器的值,发现寄存器里面的值和写入的值不一样。
于是找到了一个官方库函数对这两个寄存器设置方法

通过库函数中对这两个寄存器的设置可以看出,寄存器高位存储的是10位数据的高8位,寄存器低位存储的是寄存器的低2位。和中文手册中对寄存器的介绍不一样。按照这种方式对寄存器写入数据,然后在变量窗口观察寄存器的值,发现寄存器的值和写入的完全一样,看来是中文手册对这两个寄存器的描述是错的。
又找来了一个英文手册,然后看手册上这两个寄存器的介绍,发现英文手册对这两个寄存器的介绍和库函数中操作是一致的。


英文手册中寄存器高位存储数据的高8位,寄存器低位存储数据的低两位。看了英文手册中对这两个寄存器的描述是正确的,而中文手册对这两个寄存器的描述是错误的。
下一篇:STM8将库函数移植为寄存器方法
史海拾趣
|
新手提问,请勿取笑,呵呵。 S3C2410在管脚复用的时候有这样一段代码: //set GPG1 as EINT9 for CS8900A value = INREG32(&pOalPortRegs->GPGCON); OUTREG32(&pOalPortRegs->GPGCON,(value & ~(3… 查看全部问答> |
|
产品最初正常工作,内核和应用程序都好的。过了一段时间后启动异常。 步骤是开机Bootloader启动,启动时加载了LOGO界面填充了液晶的显示缓冲区,后来就停在这里了。 我可以按照原来的方式烧内核,更换了画面也可以显示。 重烧了BOOTLOADER后也没 ...… 查看全部问答> |
|
在应用程序里如何查询某个USB连在哪一个USB controller上 在具有多个USB controller和多个USB设备的情况下, 如何查询这些USB设备连接在哪个USB controller上。 设备管理器中,如果选择“依连接排序设备”,就可以看到所 有设备的Device Tree,VC里有什么API或者什么方法可以获得 类似的信息吗? 请高 ...… 查看全部问答> |
|
看看有没有问题,第一次玩STM32,没有什么经验,硬件是按照st-link制作的,做了一些修改(st-link本来也是一块开发板)。准备自己做JTAG下载工具或者调试工具,呵呵,如果搞的定的话。PCB还没铺地,其他都OK了。发现一个错误,应该BOOT1接地,BO ...… 查看全部问答> |
|
μC/OS-II实时性能测试指标 衡量嵌入式实时操作系统的好坏一般主要参考以下主要性能指标参数: 任务切换时间、中断响应时间、任务响应时间、任务创建/删除时间、交替信号量时间、取得/释放信号量时间、交替消息队列传输时间等。本文仅对前2个 ...… 查看全部问答> |




