📄 sio.c
字号:
#include "f2407_c.h"
extern unsigned int data_rec[500];
extern void delay(unsigned int j11);
unsigned int assic(unsigned int source)
{
switch(source)
{
case 0x000a:return(0x0041);
case 0x000b:return(0x0042);
case 0x000c:return(0x0043);
case 0x000d:return(0x0044);
case 0x000e:return(0x0045);
case 0x000f:return(0x0046);
default:return(source+0x30);
}
}
void sio_write_data(unsigned int addr,unsigned data)
{
enable();
*SCITXBUF=0x001b;
while((*SCICTL2&0x0080)==0);
*SCITXBUF=0x0057;
while((*SCICTL2&0x0080)==0);
*SCITXBUF=assic(addr/0x1000);
while((*SCICTL2&0x0080)==0);
addr=addr%0x1000;
*SCITXBUF=assic(addr/0x0100);
while((*SCICTL2&0x0080)==0);
addr=addr%0x0100;
*SCITXBUF=assic(addr/0x0010);
while((*SCICTL2&0x0080)==0);
addr=addr%0x0010;
*SCITXBUF=assic(addr);
while((*SCICTL2&0x0080)==0);
*SCITXBUF=assic(data/0x1000);
while((*SCICTL2&0x0080)==0);
data=data%0x1000;
*SCITXBUF=assic(data/0x0100);
while((*SCICTL2&0x0080)==0);
data=data%0x0100;
*SCITXBUF=assic(data/0x0010);
while((*SCICTL2&0x0080)==0);
data=data%0x0010;
*SCITXBUF=assic(data);
while((*SCICTL2&0x0080)==0);
*SCITXBUF=0x000d;
while((*SCICTL2&0x0080)==0);
}
void sio_read_data(unsigned int addr,unsigned int num_data)
{
enable();
*SCITXBUF='';
*SCITXBUF=0x001b;
while((*SCICTL2&0x0080)==0);
*SCITXBUF=0x0052;
while((*SCICTL2&0x0080)==0);
*SCITXBUF=assic(addr/0x1000);
while((*SCICTL2&0x0080)==0);
addr=addr%0x1000;
*SCITXBUF=assic(addr/0x0100);
while((*SCICTL2&0x0080)==0);
addr=addr%0x0100;
*SCITXBUF=assic(addr/0x0010);
while((*SCICTL2&0x0080)==0);
addr=addr%0x0010;
*SCITXBUF=assic(addr);
while((*SCICTL2&0x0080)==0);
num_data=num_data%0x1000;
*SCITXBUF=assic(num_data/0x0100);
while((*SCICTL2&0x0080)==0);
num_data=num_data%0x0100;
*SCITXBUF=assic(num_data/0x0010);
while((*SCICTL2&0x0080)==0);
num_data=num_data%0x0010;
*SCITXBUF=assic(num_data);
while((*SCICTL2&0x0080)==0);
*SCITXBUF=0x000d;
while((*SCICTL2&0x0080)==0);
delay(60000);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -