標(biāo)題: C語(yǔ)言如何將48位數(shù)據(jù),高位寫入拆分成3個(gè)16位依次高位寫入? [打印本頁(yè)]

作者: Kevinpost    時(shí)間: 2021-3-18 21:31
標(biāo)題: C語(yǔ)言如何將48位數(shù)據(jù),高位寫入拆分成3個(gè)16位依次高位寫入?
新手請(qǐng)教,一個(gè)48位的數(shù)據(jù),要從高位依次寫入,如何拆分成3段,每段16位 還是高位依次寫入。16位的用以下方法我理解了,不想用long,請(qǐng)老師們指教。例如48位2進(jìn)制 1000 0000 1000 0000 1000 0000 高位寫入。

unsigne int i_data;

for (i=0;i<16;i++)      
        {
        
                PGA_SCLK = 0;
               if(i_data&0x8000)  
              PGA_SDI=1;
              else
               PGA_SDI=0;               
               PGA_SCLK = 1;
                i_data <<= 1;   

}



作者: Kevinpost    時(shí)間: 2021-3-18 22:08
舉例錯(cuò)了,48位是1000 0000 1000 0000 1000 0000 1000 0000 1000 0000 1000 0000
作者: mengzhixinheng    時(shí)間: 2021-3-19 01:43
你用的64位芯片嗎!這個(gè)就是分解一個(gè)48位數(shù)據(jù)的事,你準(zhǔn)備用什么數(shù)據(jù)類型表示這個(gè)48位數(shù)據(jù)呢?
作者: Kevinpost    時(shí)間: 2021-3-19 08:24
mengzhixinheng 發(fā)表于 2021-3-19 01:43
你用的64位芯片嗎!這個(gè)就是分解一個(gè)48位數(shù)據(jù)的事,你準(zhǔn)備用什么數(shù)據(jù)類型表示這個(gè)48位數(shù)據(jù)呢?

用的89c51芯片,想用16位的unsigned int 數(shù)據(jù),想把一串48位的數(shù)據(jù)變量高位優(yōu)先寫另一個(gè)芯片里。
作者: Kevinpost    時(shí)間: 2021-3-19 08:25
mengzhixinheng 發(fā)表于 2021-3-19 01:43
你用的64位芯片嗎!這個(gè)就是分解一個(gè)48位數(shù)據(jù)的事,你準(zhǔn)備用什么數(shù)據(jù)類型表示這個(gè)48位數(shù)據(jù)呢?

i_data是要送出去的48位的變量
作者: hsl32    時(shí)間: 2021-3-19 08:42
i_data你準(zhǔn)備用什么數(shù)據(jù)類型表示?我的話就3個(gè)int,分3次循環(huán)發(fā)送,或6個(gè)char,分6次循環(huán)發(fā)送。
作者: 張?zhí)鞄?nbsp;   時(shí)間: 2021-3-19 08:58
看看這樣,能否幫到你
unsigned int  i_data[3];unsigned char i,j;
for(j=0;j<3;j++)
{
      for (i=0;i<16;i++)      

        {
                PGA_SCLK = 0;
               if(i_data[j]&0x8000)  
               PGA_SDI=1;
               else
               PGA_SDI=0;               
               PGA_SCLK = 1;
                i_data[j] <<= 1;   
         }}

作者: 黃youhui    時(shí)間: 2021-3-19 09:03
hsl32 發(fā)表于 2021-3-19 08:42
i_data你準(zhǔn)備用什么數(shù)據(jù)類型表示?我的話就3個(gè)int,分3次循環(huán)發(fā)送,或6個(gè)char,分6次循環(huán)發(fā)送。

0做個(gè)2維數(shù)組也行
作者: Kevinpost    時(shí)間: 2021-3-19 09:13
張?zhí)鞄?發(fā)表于 2021-3-19 08:58
看看這樣,能否幫到你
unsigned int  i_data[3];unsigned char i,j;
for(j=0;j

感謝!我新學(xué)51,對(duì)于語(yǔ)句運(yùn)用還很初級(jí),您幫到我了!這樣子做個(gè)套嵌就解決問(wèn)題了,學(xué)到了。
作者: Kevinpost    時(shí)間: 2021-3-19 09:14
黃youhui 發(fā)表于 2021-3-19 09:03
0做個(gè)2維數(shù)組也行

感謝提供另一種方法,我消化一下。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1