首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

C51语法求解,该如何处理

2012-02-24 
C51语法求解tmp (led_7219_addr[i-1]8) | led_7219_data[i-1]求大牛给我解释下这句语句;整体程序段:v

C51语法求解
tmp = (led_7219_addr[i-1]<<8) | led_7219_data[i-1];
求大牛给我解释下这句语句;

整体程序段:void out_led(void)
{
uchar i,j;
uint tmp;

LOAD = 0;
CLK = 0;
_nop_();
for(i=2; i>=1; i--) //送每块7219某一LED的数据,先送最后一块
{
tmp = (led_7219_addr[i-1]<<8) | led_7219_data[i-1];
for(j=0; j<16; j++)
{
if((tmp & 0x8000) == 0x8000)
DIN = 1;
else
DIN = 0;
_nop_();
CLK = 1;
_nop_();
CLK = 0;
tmp <<= 1;
}
_nop_();
}
LOAD = 1;
}


[解决办法]
这???????????
不就是一个变量左移8位和另一个变量或一下(加也可以),组成一个16位数存在一个变量中么。
与下面结果是一样的
tmp = (led_7219_addr[i-1]*256) + led_7219_data[i-1];

热点排行