Browse Source

修改bfysop

master
mr.zhangsan 1 year ago
parent
commit
21c820f592
  1. 9
      .vscode/settings.json
  2. 42
      keilp/cc_as_stc02_ps5ws.uvprojx
  3. 2
      source/app/app_config.c
  4. 2
      source/app/main.c
  5. 5
      source/app/task_encrypt.c
  6. 2
      source/app/task_modbus.c
  7. 85
      source/bsp/bsp_config.h
  8. 15
      source/bsp/bsp_config_const.h
  9. 20
      source/bsp/chipid.c
  10. 2
      source/cpu/STARTUP.A51
  11. 1095
      source/cpu/stc_stc8h.h
  12. 6
      source/cpu/stc_stc8hxx.h

9
.vscode/settings.json

@ -0,0 +1,9 @@
{
"files.associations": {
"type.h": "c",
"stc_macro.h": "c",
"stc_macro.H": "cpp",
"bsp_config_const.h": "c",
"stc_stc8h.h": "c"
}
}

42
keilp/cc_as_stc02_ps5ws.uvprojx

@ -13,14 +13,14 @@
<uAC6>0</uAC6> <uAC6>0</uAC6>
<TargetOption> <TargetOption>
<TargetCommonOption> <TargetCommonOption>
<Device>stc8a8k64s4a12</Device> <Device>STC8H8K64U Series</Device>
<Vendor>stc</Vendor> <Vendor>STC</Vendor>
<Cpu></Cpu> <Cpu>IRAM(0-0xFF) XRAM(0-0x1FFF) IROM(0-0xFFF8) CLOCK(35000000) MODP2</Cpu>
<FlashUtilSpec></FlashUtilSpec> <FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile> <StartupFile>"LIB\STARTUP.A51" ("Standard 8051 Startup Code")</StartupFile>
<FlashDriverDll></FlashDriverDll> <FlashDriverDll></FlashDriverDll>
<DeviceId>0</DeviceId> <DeviceId>63364</DeviceId>
<RegisterFile></RegisterFile> <RegisterFile>STC8.H</RegisterFile>
<MemoryEnv></MemoryEnv> <MemoryEnv></MemoryEnv>
<Cmp></Cmp> <Cmp></Cmp>
<Asm></Asm> <Asm></Asm>
@ -36,8 +36,8 @@
<BinPath>d:\Keil\C51\BIN\</BinPath> <BinPath>d:\Keil\C51\BIN\</BinPath>
<IncludePath></IncludePath> <IncludePath></IncludePath>
<LibPath></LibPath> <LibPath></LibPath>
<RegisterFilePath></RegisterFilePath> <RegisterFilePath>STC\</RegisterFilePath>
<DBRegisterFilePath></DBRegisterFilePath> <DBRegisterFilePath>STC\</DBRegisterFilePath>
<TargetStatus> <TargetStatus>
<Error>0</Error> <Error>0</Error>
<ExitCodeStop>0</ExitCodeStop> <ExitCodeStop>0</ExitCodeStop>
@ -107,14 +107,14 @@
<BankNo>65535</BankNo> <BankNo>65535</BankNo>
</CommonProperty> </CommonProperty>
<DllOption> <DllOption>
<SimDllName></SimDllName> <SimDllName>S8051.DLL</SimDllName>
<SimDllArguments></SimDllArguments> <SimDllArguments></SimDllArguments>
<SimDlgDll></SimDlgDll> <SimDlgDll>DP51.DLL</SimDlgDll>
<SimDlgDllArguments></SimDlgDllArguments> <SimDlgDllArguments>-pDP8051</SimDlgDllArguments>
<TargetDllName></TargetDllName> <TargetDllName>S8051.DLL</TargetDllName>
<TargetDllArguments></TargetDllArguments> <TargetDllArguments></TargetDllArguments>
<TargetDlgDll></TargetDlgDll> <TargetDlgDll>TP51.DLL</TargetDlgDll>
<TargetDlgDllArguments></TargetDlgDllArguments> <TargetDlgDllArguments>-p51</TargetDlgDllArguments>
</DllOption> </DllOption>
<DebugOption> <DebugOption>
<OPTHX> <OPTHX>
@ -154,12 +154,12 @@
<UseOnchipArithmetic>0</UseOnchipArithmetic> <UseOnchipArithmetic>0</UseOnchipArithmetic>
<UseMultipleDPTR>0</UseMultipleDPTR> <UseMultipleDPTR>0</UseMultipleDPTR>
<UseOnchipXram>0</UseOnchipXram> <UseOnchipXram>0</UseOnchipXram>
<HadIRAM>0</HadIRAM> <HadIRAM>1</HadIRAM>
<HadXRAM>0</HadXRAM> <HadXRAM>1</HadXRAM>
<HadIROM>0</HadIROM> <HadIROM>1</HadIROM>
<Moda2>0</Moda2> <Moda2>0</Moda2>
<Moddp2>0</Moddp2> <Moddp2>0</Moddp2>
<Modp2>0</Modp2> <Modp2>1</Modp2>
<Mod517dp>0</Mod517dp> <Mod517dp>0</Mod517dp>
<Mod517au>0</Mod517au> <Mod517au>0</Mod517au>
<Mode2>0</Mode2> <Mode2>0</Mode2>
@ -232,17 +232,17 @@
<IRO> <IRO>
<Type>1</Type> <Type>1</Type>
<StartAddress>0x0</StartAddress> <StartAddress>0x0</StartAddress>
<Size>0x0</Size> <Size>0xfff9</Size>
</IRO> </IRO>
<IRA> <IRA>
<Type>0</Type> <Type>0</Type>
<StartAddress>0x0</StartAddress> <StartAddress>0x0</StartAddress>
<Size>0x0</Size> <Size>0x100</Size>
</IRA> </IRA>
<XRA> <XRA>
<Type>0</Type> <Type>0</Type>
<StartAddress>0x0</StartAddress> <StartAddress>0x0</StartAddress>
<Size>0x0</Size> <Size>0x2000</Size>
</XRA> </XRA>
<XRA512> <XRA512>
<Type>0</Type> <Type>0</Type>

2
source/app/app_config.c

@ -84,7 +84,7 @@ void L3_iap_2_reg(void)
void L3_reg_reset(void) void L3_reg_reset(void)
{ {
R.p.adc_ch_status = ADC_status_ch2_Ready | ADC_status_ch3_Ready | ADC_status_ch4_Ready; //修改采集通道 R.p.adc_ch_status = ADC_status_ch2_Ready | ADC_status_ch3_Ready | ADC_status_ch4_Ready; //修改采集通道
R.p.slaver_id = D_UART0_485_SLAVER_ID; R.p.slaver_id = D_UART4_485_SLAVER_ID;
R.p.weight_max = 500; //500kg R.p.weight_max = 500; //500kg
R.p.lmd = 2; //2mv/v R.p.lmd = 2; //2mv/v
R.p.adc_blur_mid = 1; R.p.adc_blur_mid = 1;

2
source/app/main.c

@ -119,7 +119,7 @@ void main(void)
if(1 == s_nos_tick.t1s_heatbeart) if(1 == s_nos_tick.t1s_heatbeart)
{ {
s_nos_tick.t1s_heatbeart = 0; s_nos_tick.t1s_heatbeart = 0;
LED1 ^= 1; LED0 ^= 1;
} }
//L1_ADS1213_main(); //L1_ADS1213_main();

5
source/app/task_encrypt.c

@ -16,6 +16,8 @@
#include "../msp/eeprom.h" #include "../msp/eeprom.h"
#include "../bsp/chipid.h" #include "../bsp/chipid.h"
#if(D_CODE_ENCRYPTION_TYPE == TYPE_ENCRYPTION_ENABLE)
struct ts_eeprom_enc eep_enc; struct ts_eeprom_enc eep_enc;
struct mcu_encrypt_info enc_info; struct mcu_encrypt_info enc_info;
@ -46,7 +48,6 @@ int L3_mcu_id_ok(void)
//enc_key = ((U32)eep_enc.enc_key[0] << 24) | (eep_enc.enc_key[1] << 16) | (eep_enc.enc_key[2] << 8) |(eep_enc.enc_key[3] << 0); //enc_key = ((U32)eep_enc.enc_key[0] << 24) | (eep_enc.enc_key[1] << 16) | (eep_enc.enc_key[2] << 8) |(eep_enc.enc_key[3] << 0);
Lc_encrypt_id1((U8*)enc_info.mcu_enc_id, (U8*)enc_info.mcu_id, eep_enc.enc_key, MCU_ID_LEN); Lc_encrypt_id1((U8*)enc_info.mcu_enc_id, (U8*)enc_info.mcu_id, eep_enc.enc_key, MCU_ID_LEN);
#if 1
//4.判断enc_val是否一致 //4.判断enc_val是否一致
for(i=0;i<MCU_ID_KEY_LEN;i++) for(i=0;i<MCU_ID_KEY_LEN;i++)
{ {
@ -55,7 +56,6 @@ int L3_mcu_id_ok(void)
return 0; return 0;
} }
} }
#endif
return 1; return 1;
} }
@ -74,5 +74,6 @@ void L3_encrypt_handler(void)
#endif #endif
} }
#endif

2
source/app/task_modbus.c

@ -185,7 +185,7 @@ void L3_task_modbus_handler(TP_Handler_X *ph4)
//L0_uart0_sendArray(ph4->buf, 8); //L0_uart0_sendArray(ph4->buf, 8);
//L0_uart0_sendArray("abcdefgh", 8); //L0_uart0_sendArray("abcdefgh", 8);
ph4->ok = 0; ph4->ok = 0;
if(ts_modbus->slaver == R.p.slaver_id || ts_modbus->slaver == D_UART0_485_SLAVER_ID_BROADCAST) //从机 if(ts_modbus->slaver == R.p.slaver_id || ts_modbus->slaver == D_UART4_485_SLAVER_ID_BROADCAST) //从机
{ {
U16 acklen = L3_modbus_slaver_ack(ts_modbus,&s_uart0_ack); U16 acklen = L3_modbus_slaver_ack(ts_modbus,&s_uart0_ack);
L0_uart0_sendArray((U8*)&s_uart0_ack, acklen); L0_uart0_sendArray((U8*)&s_uart0_ack, acklen);

85
source/bsp/bsp_config.h

@ -7,12 +7,6 @@
/// @info YOU CAN CHANGE OR ADD THE DEFINE IF YOU NEED /// @info YOU CAN CHANGE OR ADD THE DEFINE IF YOU NEED
/// @info 整个嵌入式项目的入口 首先是确认电路板 然后确认cpu 芯片型号 然后确认编译器 之后是软件框架 最后是应用程序 /// @info 整个嵌入式项目的入口 首先是确认电路板 然后确认cpu 芯片型号 然后确认编译器 之后是软件框架 最后是应用程序
/// @info bsp_CONFIG 为其他头文件的始祖 TYPE_BOARD_xx /// @info bsp_CONFIG 为其他头文件的始祖 TYPE_BOARD_xx
///-------------------------------------------------------------------------
/// @version 1.1
/// @author CC
/// @date 20180308
/// @note
//////////////////////////////////////////////////////////////////////////////
/// @version 5.1 /// @version 5.1
/// @author CC /// @author CC
/// @date 20200301 /// @date 20200301
@ -44,24 +38,21 @@
#ifndef _BSP_CONFIG_H #ifndef _BSP_CONFIG_H
#define _BSP_CONFIG_H #define _BSP_CONFIG_H
#include <INTRINS.H> #include <intrins.h>
#include "../bsp/bsp_config_const.h" #include "../bsp/bsp_config_const.h"
#include "../clib/type.h" #include "../clib/type.h"
#include "../clib/bit.h" #include "../clib/bit.h"
//STEP 1 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>TYPE_UASER_BOARD SELECT //STEP 1 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>TYPE_UASER_BOARD SELECT
#define TYPE_UASER_BOARD TYPE_BOARD_WEIGH_0B #define TYPE_UASER_BOARD TYPE_BOARD_BFY_V4_SOP
//STEP 1 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<YPE_UASER_BOARD SELECT End //STEP 1 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<YPE_UASER_BOARD SELECT End
//STEP 2 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>TYPE_UASER_BOARD CONFIG //STEP 2 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>TYPE_UASER_BOARD CONFIG
#if(TYPE_UASER_BOARD == TYPE_BOARD_WEIGH_0B) #if(TYPE_UASER_BOARD == TYPE_BOARD_BFY_V4_SOP)
#include <intrins.h> #include "../cpu/stc_stc8h.h"
#include "../cpu/stc_stc8hxx.h"
#include "../cpu/stc_macro.h" #include "../cpu/stc_macro.h"
//基本配置(工作频率、时钟、看门狗、字节序) //基本配置(工作频率、时钟、看门狗、字节序)
@ -72,40 +63,74 @@
#define D_sys_Jiffies TYPE_JIFFIES_10MS #define D_sys_Jiffies TYPE_JIFFIES_10MS
#define D_WDT_STATUS TYPE_WDT_DISABLE //如果配置为enable,请在bsp_config.c中设置wdt溢出时间 #define D_WDT_STATUS TYPE_WDT_DISABLE //如果配置为enable,请在bsp_config.c中设置wdt溢出时间
#define D_MCU_ENDIAN TYPE_MCU_BIGENDIAN #define D_MCU_ENDIAN TYPE_MCU_BIGENDIAN
#define D_CODE_ENCRYPTION_TYPE TYPE_ENCRYPTION_ENABLE //是否代码加密 #define D_CODE_ENCRYPTION_TYPE TYPE_ENCRYPTION_DISABLE //是否代码加密
#define D_MCU_NAME "STC8H8K64U"
#define D_MCU_NAME "STC8H3K48S4"
//存储器特殊参数地址配置 //存储器特殊参数地址配置
#define D_MCU_SPEC_PARAM_CHIPID 0xBFF9 #define MSP_ID_LEN 7
#define D_MCU_SPEC_PARAM_ID_IN_RAM 0x00F1
#define D_MCU_SPEC_PARAM_ID_IN_ROM 0xFDF9
#define D_MCU_SPEC_PARAM_ID_IN_CHIPID 0xFDE0
#define ID_ADDR_IN_RAM ((char idata*)(D_MCU_SPEC_PARAM_ID_IN_RAM + 0x00))
#define ID_ADDR_IN_ROM ((char code*)(D_MCU_SPEC_PARAM_ID_IN_ROM + 0x00))
#define ID_ADDR_IN_CHIPID ((unsigned char volatile xdata*)(D_MCU_SPEC_PARAM_ID_IN_CHIPID + 0x00))
//...其他参数 //...其他参数
//串口配置 //串口配置
#define D_uart0_BRT BRT_115200 #define D_uart0_BRT BRT_115200
#define D_uart0_SBIT SBIT_1 #define D_uart0_SBIT SBIT_1
#define D_PIN_UART0 PIN_UART0_Rxd_30_Txd_31 #define D_PIN_UART0 PIN_UART0_Rxd_30_Txd_31 //RXD, TXD
#define D_uart2_BRT BRT_115200 #define D_uart2_BRT BRT_115200
#define D_PIN_UART2 PIN_UART2_Rxd_46_Txd_47 //RXD2_2, TXD2_2
#define D_uart3_BRT BRT_115200 #define D_uart3_BRT BRT_115200
#define D_PIN_UART3 PIN_UART3_Rxd_50_Txd_51 //RXD3_2, TXD3_2
#define D_uart4_BRT BRT_115200 #define D_uart4_BRT BRT_115200
#define D_PIN_UART4 PIN_UART4_Rxd_02_Txd_03 //RXD4, TXD4
//485配置 //485配置
#define D_UART0_485_TYPE TYPE_485_SLAVER //UART0启用485 #define D_UART4_485_TYPE TYPE_485_SLAVER //UART4启用485
#define D_UART0_485_SLAVER_ID_BROADCAST 0xFF //485从机总是响应0xFF消息 #define D_UART4_485_SLAVER_ID_BROADCAST 0xFF //485从机总是响应0xFF消息
#define D_UART0_485_SLAVER_ID 0x01 //板卡作为485从机 slaverId #define D_UART4_485_SLAVER_ID 0x01 //板卡作为485从机 slaverId
#define D_UART0_485_TX() P55 = 1; #define D_UART4_485_TX() P01 = 1; P00=1;
#define D_UART0_485_RX() P55 = 0; #define D_UART4_485_RX() P01 = 0; P00=0;
#define D_UART0_485_TYPE TYPE_485_NONE //UART0不启用485
#define D_UART2_485_TYPE TYPE_485_NONE //UART2不启用485 #define D_UART2_485_TYPE TYPE_485_NONE //UART2不启用485
#define D_UART3_485_TYPE TYPE_485_NONE //UART2不启用485 #define D_UART3_485_TYPE TYPE_485_NONE //UART3不启用485
#define D_UART4_485_TYPE TYPE_485_NONE //UART2不启用485
//MODBUS协议配置 //MODBUS协议配置
#define D_MODBUS_ENABLE //MODBS启用开关,如果不使用modbus,可以注释掉本行 //#define D_MODBUS_ENABLE //MODBS启用开关,如果不使用modbus,可以注释掉本行
#define D_MODBUS_SPLIT_ENTRY L1_modbus_split //modbus切割函数,在tpc_modbus.c中实现,依据实际情况修改 #define D_MODBUS_SPLIT_ENTRY L1_modbus_split //modbus切割函数,在tpc_modbus.c中实现,依据实际情况修改
#define D_MODBUS_REG_MAX_NUM 32 //每次最多读取/写入的寄存器数量,此处的数量要注意和 D_tp_handle_x_len 对应 #define D_MODBUS_REG_MAX_NUM 32 //每次最多读取/写入的寄存器数量,此处的数量要注意和 D_tp_handle_x_len 对应
//外设定义 //外设定义
#define LED0 P17 //D4 #define LED0 P23 //LED5
#define LED1 P54 //D4 //Button LED
//0 1 2 3 4 5 6
//13 12 11 10 9 8 7
#define BLED0 P42 //NET9
#define BLED1 P41 //NET10
#define BLED2 P37 //NET11
#define BLED3 P35 //NET12
#define BLED4 P16 //NET13
#define BLED5 P15 //NET14
#define BLED6 P14 //NET15
#define BLED7 P47 //NET16
#define BLED8 P11 //NET17
#define BLED9 P26 //NET18
#define BLED10 P25 //NET19
#define BLED11 P21 //NET20
#define BLED12 P44 //NET21
#define BLED13 P22 //NET22
//K->Key, R->ROW, C->COL
#define KR1 P36 //NET1
#define KR2 P17 //NET2
#define KR3 P06 //NET3
#define KR4 P43 //NET4
#define KC1 P10 //NET5
#define KC2 P07 //NET6
#define KC3 P13 //NET7
#define KC4 P20 //NET8
//EEP存储地址定义 //EEP存储地址定义
#define D_EEP_SECTOR_SIZE 0x200 //每个扇区0x200==512bytes #define D_EEP_SECTOR_SIZE 0x200 //每个扇区0x200==512bytes
@ -156,8 +181,8 @@
#define D_SERVE_TIMER3 interrupt 19 #define D_SERVE_TIMER3 interrupt 19
#define D_SERVE_TIMER4 interrupt 20 #define D_SERVE_TIMER4 interrupt 20
#define D_SERVE_CMP interrupt 21 #define D_SERVE_CMP interrupt 21
#define D_SERVE_PWM interrupt 22 // #define D_SERVE_PWM interrupt 22
#define D_SERVE_PWMFD interrupt 23 // #define D_SERVE_PWMFD interrupt 23
#define D_SERVE_I2C interrupt 24 #define D_SERVE_I2C interrupt 24
#endif #endif
//STEP 3 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<IRQ Config End //STEP 3 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<IRQ Config End

15
source/bsp/bsp_config_const.h

@ -65,6 +65,7 @@
#define TYPE_BOARD_ADDA_MAIN_V02 0xa8 //ADDA #define TYPE_BOARD_ADDA_MAIN_V02 0xa8 //ADDA
#define TYPE_BOARD_433_0A 0xa9 //433 #define TYPE_BOARD_433_0A 0xa9 //433
#define TYPE_BOARD_WEIGH_0B 0xaa //称重 #define TYPE_BOARD_WEIGH_0B 0xaa //称重
#define TYPE_BOARD_BFY_V4_SOP 0xab //暴风眼v4SOP板卡
//<<<<<<<<<<<<<<<<<<<<<<<<<<<.BORAD TYPE end //<<<<<<<<<<<<<<<<<<<<<<<<<<<.BORAD TYPE end
//>>>>>>>>>>>>>>>>>>>>>>MCU TYPE //>>>>>>>>>>>>>>>>>>>>>>MCU TYPE
@ -75,7 +76,7 @@
#define TYPE_MCU_STC_8G 0x13 #define TYPE_MCU_STC_8G 0x13
#define TYPE_MCU_STC_8H 0x14 #define TYPE_MCU_STC_8H 0x14
#define TYPE_MCU_VENDOR_TI 0x60 #define TYPE_MCU_VENDOR_TI 0x60
#define TYPE_MCU_SHC6601 0x66 #define TYPE_MCU_SHC6601 0x66
#define TYPE_MCU_LPC17xx 0x67 #define TYPE_MCU_LPC17xx 0x67
#define TYPE_MCU_STM32 0x68 #define TYPE_MCU_STM32 0x68
@ -130,12 +131,20 @@
#define MainFre_27M 27000000L #define MainFre_27M 27000000L
//<<<<<<<<<<<<<<<<<<<<<<MainFre end //<<<<<<<<<<<<<<<<<<<<<<MainFre end
//>>>>>>>>>>>>>>>>>>>>>>UART0 PIN //>>>>>>>>>>>>>>>>>>>>>>UART PIN
#define PIN_UART0_Rxd_30_Txd_31 1 #define PIN_UART0_Rxd_30_Txd_31 1
#define PIN_UART0_Rxd_36_Txd_37 2 #define PIN_UART0_Rxd_36_Txd_37 2
#define PIN_UART0_Rxd_16_Txd_17 3 #define PIN_UART0_Rxd_16_Txd_17 3
#define PIN_UART0_Rxd_43_Txd_44 4 #define PIN_UART0_Rxd_43_Txd_44 4
//<<<<<<<<<<<<<<<<<<<<<<<<<<<.UART0 PIN
#define PIN_UART2_Rxd_10_Txd_11 1
#define PIN_UART2_Rxd_46_Txd_47 2
#define PIN_UART3_Rxd_00_Txd_01 1
#define PIN_UART3_Rxd_50_Txd_51 2
#define PIN_UART4_Rxd_02_Txd_03 1
#define PIN_UART4_Rxd_52_Txd_53 2
//>>>>>>>>>>>>>>>>>>>>>>485 Type //>>>>>>>>>>>>>>>>>>>>>>485 Type
#define TYPE_485_NONE 0 #define TYPE_485_NONE 0

20
source/bsp/chipid.c

@ -12,30 +12,34 @@
#include "chipid.h" #include "chipid.h"
#include "../bsp/bsp_config.h" #include "../bsp/bsp_config.h"
#define MSP_ID_LEN 7 void L0_id_get_ram(U8 *id)
void L0_id_get(U8 *id)
{ {
U8 i = 0; U8 i = 0;
char *ID = (char idata *)0xf1;
for(i=0;i<MSP_ID_LEN;i++) for(i=0;i<MSP_ID_LEN;i++)
{ {
id[i] = ID[i]; id[i] = (U8)(ID_ADDR_IN_RAM[i]);
} }
} }
void L0_id_get_rom(U8 *id) void L0_id_get_rom(U8 *id)
{ {
U8 i = 0; U8 i = 0;
char *ID = (char code *)(D_MCU_SPEC_PARAM_CHIPID);
for(i=0;i<MSP_ID_LEN;i++) for(i=0;i<MSP_ID_LEN;i++)
{ {
id[i] = ID[i]; id[i] = (U8)ID_ADDR_IN_ROM[i];
} }
} }
void L0_id_get_chipid(U8 *id)
{
U8 i = 0;
for(i=0;i<MSP_ID_LEN;i++)
{
id[i] = ID_ADDR_IN_CHIPID[i];
}
}
#if 1 #if 0
void L0_id_main(void) void L0_id_main(void)
{ {
U8 i,id[MSP_ID_LEN]; U8 i,id[MSP_ID_LEN];

2
source/cpu/STARTUP.A51

@ -35,7 +35,7 @@ XDATASTART EQU 0
; ;
; <o> XDATALEN: XDATA memory size <0x0-0xFFFF> ; <o> XDATALEN: XDATA memory size <0x0-0xFFFF>
; <i> The length of XDATA memory in bytes. ; <i> The length of XDATA memory in bytes.
XDATALEN EQU 3072 XDATALEN EQU 4096
; ;
; <o> PDATASTART: PDATA memory start address <0x0-0xFFFF> ; <o> PDATASTART: PDATA memory start address <0x0-0xFFFF>
; <i> The absolute start address of PDATA memory ; <i> The absolute start address of PDATA memory

1095
source/cpu/stc_stc8h.h

File diff suppressed because it is too large

6
source/cpu/stc_stc8hxx.h

@ -3,7 +3,7 @@
///////////////////////////////////////////////// /////////////////////////////////////////////////
//包含本头文件后,不用另外再包含"REG51.H" //������ͷ�ļ���,���������ٰ���"REG51.H"
sfr P0 = 0x80; sfr P0 = 0x80;
sbit P00 = P0^0; sbit P00 = P0^0;
@ -192,8 +192,8 @@ sfr P7 = 0xf8;
sfr USBADR = 0xfc; sfr USBADR = 0xfc;
sfr RSTCFG = 0xff; sfr RSTCFG = 0xff;
//如下特殊功能寄存器位于扩展RAM区域 //�������⹦�ܼĴ���λ����չRAM����
//访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写 //������Щ�Ĵ���,���Ƚ�P_SW2��BIT7����Ϊ1,�ſ�������д
///////////////////////////////////////////////// /////////////////////////////////////////////////
//FF00H-FFFFH //FF00H-FFFFH

Loading…
Cancel
Save