kksk 发表于 2023-1-31 16:23:03

STC8H从RAM中读取内部1.19V参考信号源

在STC8H手册(2023.1.17版)中第18.6.4节示例中提到了从idata中读取参考信号源电压,但运行的结果始终为0。后来尝试从ROM中读取成功。注意到在第8节中,8.5.3的标题被标红、划线,请问是这种方法已不适用了吗?


单片机型号: STC8H4K64TL
固件版本号: 7.4.3U

神农鼎 发表于 2023-1-31 16:42:42

后续新品都是从 CHIP-ID 读,这个 STC8H4K64TL做漏了这个功能,所以,你再烧录时,选择烧入重要测试参数



神农鼎 发表于 2023-1-31 16:44:49




神农鼎 发表于 2023-1-31 16:50:19










神农鼎 发表于 2023-1-31 16:50:38


zhp 发表于 2023-1-31 17:21:07

本帖最后由 zhp 于 2023-1-31 17:41 编辑

固件版本为7.4.3的STC8H4K64TL可以从RAM里面读取参考信号源电压
测试代码如下:
#include "stc8h.h"
#include "stdio.h"

#define FOSC      11059200UL
#define BAUD      (65536 - FOSC/4/115200)

void main()
{
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
   
    SCON = 0x52;
    AUXR = 0x40;
    TMOD = 0x00;
    TL1 = BAUD;
    TH1 = BAUD >> 8;
    TR1 = 1;
   
    printf("STC8H测试 !\n\n");
    printf("BGV = %02bX%02bX (hex)\n", *(char idata *)0xef, *(char idata *)0xf0);
    printf("BGV = %d mV\n", *(int idata *)(0xef));
   
    while (1);
}

测试结果如下:


固件版本为7.4.4及后续版本才只能从CHIPID中读取
目前量产的STC8H4K64TL的固件版本为7.4.3,是可以从RAM中读取的



kksk 发表于 2023-1-31 18:19:43

zhp 发表于 2023-1-31 17:21
固件版本为7.4.3的STC8H4K64TL可以从RAM里面读取参考信号源电压
测试代码如下:



试了下还是不行
把编译后的汇编代码也放在这里,不知道是否有用





神农鼎 发表于 2023-1-31 19:06:32

你可能包含了启动文件,启动文件将 IDATA 的后面清0了,请从 FLASH 读

zhp 发表于 2023-1-31 19:40:26

kksk 发表于 2023-1-31 18:19
试了下还是不行
把编译后的汇编代码也放在这里,不知道是否有用



直接用我的项目测试看看

kksk 发表于 2023-1-31 20:02:25

zhp 发表于 2023-1-31 19:40
直接用我的项目测试看看



非常感谢,你的项目能正常用
我再去研究一下编译选项一类的的问题


页: [1] 2
查看完整版本: STC8H从RAM中读取内部1.19V参考信号源