找回密码
 立即注册
查看: 490|回复: 1

STC8H1K28能读到ID号,但BGV电压总是为0问题,是什么原因 | 已解决

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:365
  • 最近打卡:2025-05-02 00:20:03

6

主题

319

回帖

2206

积分

金牌会员

积分
2206
发表于 2024-6-3 14:36:31 | 显示全部楼层 |阅读模式
使用的ISP软件的范例程序.根据芯片手册把代码里ID地址改为0x6ff9,串口输出正确的芯片ID码,但BGV值一直是0000,不知什么原因?

#include "stc8h.h"
#include "intrins.h"

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


bit busy;
char *ID;

void UartIsr() interrupt 4
{
    if (TI)
    {
        TI = 0;
        busy = 0;
    }
    if (RI)
    {
        RI = 0;
    }
}

void UartInit()
{
    SCON = 0x50;
    TMOD = 0x00;
    TL1 = BRT;
    TH1 = BRT >> 8;
    TR1 = 1;
    AUXR = 0x40;
    busy = 0;
}

void UartSend(char dat)
{
    while (busy);
    busy = 1;
    SBUF = dat;
}

void main()
{
    char i;

    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;

    ID = (char code *)0x6ff9;                   // STC8G1K28
    UartInit();
    ES = 1;
    EA = 1;

    for (i=0; i<9; i++)
    {
        UartSend(ID);
    }

    while (1);
}

截图202406031436228785.jpg

仔细研究下,原来是被手册表格误导,惯性思维寄存器表格按照地址从低到高排列,
实际手册里表格地址是由高向低排列的,
BGV地址比ID地址低,BGV地址修改为0x6ff7后问题已解决,
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-6-4 20:10:30 | 显示全部楼层
能自己处理问题并及时更新帖子非常好,大家都应该向你学习,再接再厉!
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 15:45 , Processed in 0.111773 second(s), 54 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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