找回密码
 立即注册
查看: 1693|回复: 10

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-02 17:08:42

6

主题

5

回帖

65

积分

注册会员

积分
65
发表于 2023-12-4 10:26:32 | 显示全部楼层 |阅读模式
本帖最后由 STC8H8K64U 于 2023-12-8 09:06 编辑

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

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:447
  • 最近打卡:2025-06-19 15:15:10
已绑定手机

40

主题

2064

回帖

7105

积分

论坛元老

积分
7105
发表于 2023-12-4 15:45:40 | 显示全部楼层
因为新的STC8H8K64U的参考电压等参数是在CHIPID寄存器里面读取:
截图202312041545295458.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:434
  • 最近打卡:2025-06-19 08:08:09

46

主题

390

回帖

1740

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
1740
发表于 2023-12-4 17:44:48 | 显示全部楼层
0xef地址被特殊功能寄存器占用了吗?
处事要代人所想,读书需切己用功
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-02 17:08:42

6

主题

5

回帖

65

积分

注册会员

积分
65
发表于 2023-12-4 17:45:48 | 显示全部楼层
您好,先谢谢了!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-02 17:08:42

6

主题

5

回帖

65

积分

注册会员

积分
65
发表于 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;把它删除后结果一样。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-02 17:08:42

6

主题

5

回帖

65

积分

注册会员

积分
65
发表于 2023-12-5 17:07:12 | 显示全部楼层
使用CHIPID里的内部参考电压地址0xFDE7
并使用用户手册里的命令
#define  CPUIDBASE  0xfde0
#define  VREF_ADDR   (*(unsigned int volatile xdata *)(CPUIDBASE + 0x07))
显示VREF_ADDR
也不行
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-02 17:08:42

6

主题

5

回帖

65

积分

注册会员

积分
65
发表于 2023-12-6 10:31:33 | 显示全部楼层
问题解决,主要没有加入语句P_SW2= 0x80;  
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-06-19 11:08:41

33

主题

2452

回帖

5190

积分

论坛元老

积分
5190
发表于 2023-12-17 09:15:32 | 显示全部楼层
自STC8H8K64U 固件版本 V7.4.4U之后 BGV参数就只能从CHIPID中读取,且ROM区 和 RAM区均不写入,但是软件上是从哪个版本取消的那就不太清楚了
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-06-19 11:08:41

33

主题

2452

回帖

5190

积分

论坛元老

积分
5190
发表于 2023-12-17 09:15:52 | 显示全部楼层

截图202312170915474085.jpg
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-06-19 11:08:41

33

主题

2452

回帖

5190

积分

论坛元老

积分
5190
发表于 2023-12-17 09:16:33 | 显示全部楼层
还有一件事,之前保存到RAM区 和 SFR寄存器是无关的,,,
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-20 03:30 , Processed in 0.161403 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表