欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機LED發送數據程序怎么理解?cmd<<=1什么意思

查看數: 3675 | 評論數: 2 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2020-3-12 21:10

正文摘要:

怎么理解,求大神指點,特別是cmd<<=1什么意思

回復

ID:235200 發表于 2020-3-12 23:18
cmd<<=1;是cmd=cmd<<1;的另一種寫法,即把cmd中的數據左移1位后再存入
ID:687694 發表于 2020-3-12 23:02
本帖最后由 lovexulu 于 2020-3-13 11:42 編輯

左移一位,單片機中所有發送串口數據,都是1位1位發的,一個字節就是8位,例如cmd= 0000 1000 ,按照你上面的程序運行過程如下:
進入for循環中開始:temp被定義為char類型8位數據它被賦值0000 1000&0x80,0x80是十六進制數,寫做2進制就是1000 0000 那么它與0000 1000進行運算即相同為位置同為1結果才為1.所以temp=0000 0000 ,接著進行判斷 temp顯然等于0.結果執行了LCD_SDA=0,這樣在數據線上就發送過去一個0,然后cmd<<1,結果cmd=0001 0000,循環,又發一個0,再移位(0010 0000),如此循環到(1000 0000)時,&0x80的結果變為 1000 0000,此時temp!=0,執行LCD_SDA=1,這樣數據線上發功過去一個1,移位后 cmd= 0000 0000,如此循環8次,將 0000 1000 依次體現在數據線上,即發送過去8位數據,就是1字節數據。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表