📄 main.c
字号:
/* ___INITRG = 0x00; lock registers block to 0x0000 */
/* ___INITRM = 0x39; lock Ram to end at 0x3FFF */
/* ___INITEE = 0x09; lock EEPROM block to end at 0x0fff */
/* 上述三个寄存器的设置需在Start12.c文件开头处加入宏定义 */
/* "#define _HCS12_SERIALMON" */
/* 重新映射区域地址需在Project.prm文件中做下述修改 */
/* EEPROM = 0x0800 TO 0x0FFF; */
/* RAM = 0x1FFF TO 0x3FFF; */
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
#include "Init_Func.h"
#include "Flash.h"
uint WBuff[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
uint RBuff[16]={0};
#pragma CODE_SEG ADDR_HIGH
/*********************************************************************/
/* main */
/*********************************************************************/
void main(void)
{
PLL_Init();
SCI_Init();
PORTB=0xFF;
DDRB =0xFF;
PrgToRAM(); //机器码调入RAM中
Flash_Erase_Sector(0x38,0x8000);
Flash_Write_Nword(0x38,0x8000,(uint)(WBuff),16);
Flash_Read_Sector(0x38,0x8000,RBuff,16);
EnableInterrupts;
for(;;)
{
}
}
#pragma CODE_SEG NON_BANKED
void interrupt 20 SCI0_Rx_ISR(void)
{
uchar data,i;
DisableInterrupts;
data=SCI_RxByte();
SCI_TxByte(data);
if(data=='?')
for(i=0x00;i<16;i++)
SCI_TxByte((uchar)(RBuff[i]));
EnableInterrupts;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -