📄 sja1000.i
字号:
#line 1 "C:\AVR\CAN\sja1000.c"
#line 1 "C:/icc/include/iom128v.h"
#line 7 "C:/icc/include/iom128v.h"
#line 11 "C:/icc/include/iom128v.h"
#line 14 "C:/icc/include/iom128v.h"
#line 17 "C:/icc/include/iom128v.h"
#line 20 "C:/icc/include/iom128v.h"
#line 2 "C:\AVR\CAN\sja1000.c"
#line 1 "C:\AVR\CAN/sja1000.h"
#line 6 "C:\AVR\CAN/sja1000.h"
#line 24 "C:\AVR\CAN/sja1000.h"
void sja100_rw_test(void);
#line 4 "C:\AVR\CAN\sja1000.c"
static void sja1000_port_init(INT8U reg)
{
(*(volatile unsigned char *)0x3A) = 0xff;
(*(volatile unsigned char *)0x64) |=(1 << 2);
((*(volatile unsigned char *)0x65) &= ~(1 << 2));
(*(volatile unsigned char *)0x34) |= ((1 << 2)|(1 << 1)|(1 << 0));
(*(volatile unsigned char *)0x35) |= ((1 << 2)|(1 << 1)|(1 << 0));
(*(volatile unsigned char *)0x3B) = reg;
((*(volatile unsigned char *)0x65) |=(1 << 2));
((*(volatile unsigned char *)0x65) &= ~(1 << 2));
}
static INT8U sja1000_rb(INT8U reg)
{
INT8U ret;
sja1000_port_init(reg);
(*(volatile unsigned char *)0x3A) = 0x0;
(*(volatile unsigned char *)0x3B) = 0xff;
(*(volatile unsigned char *)0x35) &= ~((1 << 2)|(1 << 1));
asm("nop");
ret =(*(volatile unsigned char *)0x39);
(*(volatile unsigned char *)0x35) |= ((1 << 2)|(1 << 1));
return ret;
}
static void sja1000_wb(INT8U reg,INT8U c)
{
sja1000_port_init(reg);
(*(volatile unsigned char *)0x3B) = c;
(*(volatile unsigned char *)0x35) &= ~((1 << 2)|(1 << 0));
(*(volatile unsigned char *)0x35) |= ~((1 << 2)|(1 << 0));
}
void sja100_rw_test(void)
{
volatile static INT8U i = 0;
INT8U j;
sja1000_wb(4, i++);
j = sja1000_rb(4);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -