久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1601|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

C語(yǔ)言一次按4字節(jié)倍數(shù)讀取,怎么優(yōu)雅改成按讀1字節(jié)倍數(shù)讀取呢?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:731155 發(fā)表于 2022-4-5 19:43 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
C語(yǔ)言源程序如下:
  1. int flash_read(UINT32 ptr_add,uint8_t *buffer,int Read_Lengh )
  2. {
  3.         UINT32 *ptr = (UINT32*)ptr_add;
  4.         UINT32 buf = 0;
  5.         int black = 0;
  6.         int r_black = 0;
  7.         black = Read_Lengh/4;

  8.         while(black!= r_black)
  9.         {
  10.                 buf = *ptr;
  11.                 buffer[0+r_black*4] = buf&0x000000ff;
  12.                 buffer[1+r_black*4] = buf>>8&0x000000ff;
  13.                 buffer[2+r_black*4] = buf>>16&0x000000ff;
  14.                 buffer[3+r_black*4] = buf>>24&0x000000ff;
  15.                 ptr++;

  16.                 printf("%02X %02X %02X %02X ",buffer[0+r_black*4],buffer[1+r_black*4],buffer[2+r_black*4],buffer[3+r_black*4]);
  17.                 r_black++;
  18.                 if ((r_black*4)%16==0)
  19.                         printf("\n");
  20.         }
  21.         printf("\n");
  22.         return (r_black*4);
  23. }
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2022-4-5 23:57 | 只看該作者
  1. uint8_t *ptr = ptr_add;
  2. ...
  3.                 buf = *ptr;
  4.                 buffer[0+r_black*4] = *(ptr++);
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

板凳
ID:731155 發(fā)表于 2022-4-6 01:08 | 只看該作者

感謝幫忙解答,寫(xiě)的好簡(jiǎn)潔,我試試看
回復(fù)

使用道具 舉報(bào)

地板
ID:310441 發(fā)表于 2022-4-6 06:55 來(lái)自手機(jī) | 只看該作者
這是指針最基礎(chǔ)的用法,C++最精髓的地方了,不是說(shuō)教,這都沒(méi)理解好就強(qiáng)行編碼會(huì)陷入更大的麻煩的。
回復(fù)

使用道具 舉報(bào)

5#
ID:731155 發(fā)表于 2022-4-6 12:10 | 只看該作者
hei51com 發(fā)表于 2022-4-6 01:08
感謝幫忙解答,寫(xiě)的好簡(jiǎn)潔,我試試看

這樣修改后,符合期望了
int ByteReadFlash(UINT32 ptr_add,uint8_t *buffer,int Read_Lengh )
{
        uint8_t *ptr = ((uint8_t*)ptr_add);
        int black = 0;
        int r_black = 0;
        black = Read_Lengh;
                printf("Read_Lengh %d,black %d\n",Read_Lengh,black);
        while(black!= r_black)
        {
                buffer[0+r_black] = *(ptr++);
                printf("%02X ",buffer[0+r_black]);
                r_black++;
                if ((r_black)%16==0)
                        printf("\n");
        }
        printf("\n");
        return (r_black);
}
回復(fù)

使用道具 舉報(bào)

6#
ID:731155 發(fā)表于 2022-4-6 12:14 | 只看該作者
DoneDone 發(fā)表于 2022-4-6 06:55
這是指針最基礎(chǔ)的用法,C++最精髓的地方了,不是說(shuō)教,這都沒(méi)理解好就強(qiáng)行編碼會(huì)陷入更大的麻煩的。

說(shuō)的確實(shí)是,我一直沒(méi)能理解好,請(qǐng)教下有沒(méi)有竅門(mén)呢?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产特级毛片aaaaaa | 国产日产精品一区二区三区四区 | 亚洲字幕在线观看 | 亚洲一区二区视频 | 久久久精彩视频 | 婷婷99| 久久国产综合 | 久久成人精品视频 | 久久精品伊人 | 天堂资源最新在线 | h网站在线观看 | av在线免费网站 | www.久久99| 久久久久久亚洲精品不卡 | 99精品国产一区二区三区 | 亚州激情 | 中文一区 | 国产高清在线观看 | 亚洲精品久久久久久久久久久久久 | 一区二区精品 | 久久国产一区二区 | 亚洲欧美日韩电影 | 羞羞视频网站在线观看 | 精品国产乱码久久久久久牛牛 | 日韩快播电影网 | 欧美淫片| 四虎影院一区二区 | 国产一区二区三区视频免费观看 | 视频在线亚洲 | www.激情.com| 97色在线视频 | 天天躁日日躁狠狠躁2018小说 | 国产精品一区二区无线 | 91视频网址| 成人综合一区二区 | 视频在线观看亚洲 | 欧美激情一区二区 | 久草精品视频 | 综合九九| 中文字幕亚洲欧美 | 成人av一区二区亚洲精 |