jack88291641 发表于 2023-12-4 10:26:32

ISP软件不可以对stc8h8k64u写入内部参考电压问题(已解决)

本帖最后由 STC8H8K64U 于 2023-12-8 09:06 编辑

由于需要用内部参考电压测量外部ADC电压,需要读出内部参考电压,但遇到了问题。1.老ISP软件stc-isp-15xx-v6.87H 对stc8h8k64u可以写入内部参考电压到rom区0xfdf7,但不能写到ram 区0xef,通过一个显示 程序验证,但是ISP程序的输入用户程序运行时的IRC频率选项不能大于8M,不知道什么原因,2. 最新的stc-isp-15xx-v6.92G ISP程序的输入用户程序运行时的IRC频率选项可以大于8M,如12M,但对stc8h8k64u不可以写入内部参考电压到rom区0xfdf7,也不能写到ram 区0xef,ISP软件上没有“在程序区的结束处添加重要测试参数”的选项. 3. 在仿真运行时rom区和ram区都查看不到内部参考电压。4.对于STC8H1K08 芯片 老ISP软件stc-isp-15xx-v6.87H和最新的stc-isp-15xx-v6.92G都有“在程序区的结束处添加重要测试参数”的选项,都可以把内部参考电压写入到rom区0x1ff7,也可以写到ram 区0xef , 通过一个显示 程序验证,以及以前产品都已经使用。   

乘风飞扬 发表于 2023-12-4 15:45:40

因为新的STC8H8K64U的参考电压等参数是在CHIPID寄存器里面读取:

rengran 发表于 2023-12-4 17:44:48

0xef地址被特殊功能寄存器占用了吗?

jack88291641 发表于 2023-12-4 17:45:48

您好,先谢谢了!

jack88291641 发表于 2023-12-5 14:45:04

看了一下最新的STC8H及USB系列用户手册有关部分,STC8H-20231110.pdf,在程序区的结束处添加重要测试参数没有了,里面的参数出厂就写好了,只能读,不能写。各种芯片唯一ID和存放内部参考电压的地址没有变。

根据使用手册上编程
int *BGV;
main()
{
BGV=(int idata *)0xef ;//STC8H1K08 芯片的 BGV存放地址RAM 区是0xef-0xf0
或BGV=(int code *)0xfdf7 ;//STC8H1K08 芯片的 BGV存放地址ROM 区是0xfdf7-0xfdf8

然后调用显示程序模块在LCD上显示BGV值(这个是已经成熟的软件模块一直在用),并使用分别用老ISP软件stc-isp-15xx-v6.87H ,和最新的stc-isp-15xx-v6.92G ISP程序下载 软件但都没有1188的值,说明读出不对。
}
自己的编程
#define Vbg_ADDR_ROM        0xFDF7;
unsigned char code *cptr_ID_ROM;                //
unsigned int code *cptr_Vbg_ROM;       //int 16bits ,two bytes

Main()
{
cptr_Vbg_ROM=Vbg_ADDR_ROM;       // fdf7
Vbg=*cptr_Vbg_ROM;         //

然后调用显示程序模块在LCD上显示BGV值(这个是已经成熟的软件模块一直在用),首先使用老ISP软件stc-isp-15xx-v6.87H,勾选“在程序区的结束处添加重要测试参数”的选项 ,可以显示出1188的值,如果没有勾选该选项就不对,说明在fdf7h位置是写了内部参考电压1188的,和只读不能写矛盾。
然后用最新的stc-isp-15xx-v6.92G ISP程序重新下载程序 显示的不是1188的值,难道最新的stc-isp-15xx-v6.92G ISP程序会改写已经写进去的内部参考电压 。如果一开始就用stc-isp-15xx-v6.92G 下载程序也不对。
资料里说stc8h8k64u有A,B版,我的芯片尾号16QD,厂方说是D版的,现在都是这样的,已经不分A,B版了。所以芯片没有问题。

}

关于0xef地址被特殊功能寄存器占用的情况,在头文件里找到sfr   AUXINTIF =0xef;把它删除后结果一样。

jack88291641 发表于 2023-12-5 17:07:12

使用CHIPID里的内部参考电压地址0xFDE7
并使用用户手册里的命令
#defineCPUIDBASE0xfde0
#defineVREF_ADDR   (*(unsigned int volatile xdata *)(CPUIDBASE + 0x07))
显示VREF_ADDR
也不行

jack88291641 发表于 2023-12-6 10:31:33

问题解决,主要没有加入语句P_SW2= 0x80;

_奶咖君_ 发表于 2023-12-17 09:15:32

自STC8H8K64U 固件版本 V7.4.4U之后 BGV参数就只能从CHIPID中读取,且ROM区 和 RAM区均不写入,但是软件上是从哪个版本取消的那就不太清楚了

_奶咖君_ 发表于 2023-12-17 09:15:52


_奶咖君_ 发表于 2023-12-17 09:16:33

还有一件事,之前保存到RAM区 和 SFR寄存器是无关的,,,
页: [1] 2
查看完整版本: ISP软件不可以对stc8h8k64u写入内部参考电压问题(已解决)