亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2815|回復: 2
打印 上一主題 下一主題
收起左側

一個字節按位依次給到單片機管腳時遇到的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:248661 發表于 2017-11-12 17:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
把一個字節的數據從高位依次間隔賦給單片機的一個管腳。
a=0x05;      // 01010101
sbit led=P1^0;      //單片機管腳
for(i=7;i>=0;i--)        //賦值8次
{
   led=a>>7;   //高位移到低位
   a=a<<1;    //把用過的數據移走
}第一次a右移7位就是最高位移到最低位嘛,然后a自己左移一次,第二次實際就是把次高位右移7次。
同理 我像下面這樣寫
for(i=7;i>=0;i--)
{
   led=a>>i;
}為什么這樣不對呢?我把變量i作為移動的次數,7,6,....1.也是相當于把數據依次移動到低位啊
求解。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:248503 發表于 2017-11-12 20:49 | 只看該作者
第一個居然是對的,數據類型不匹配一個bit一個char類型,居然沒有警告。 漲見識了。
第二個可以改成這樣。
for(i=7;i>=0;i--)
{
        led=(a>>i)%2?1:0;
}
回復

使用道具 舉報

板凳
ID:164602 發表于 2017-11-13 08:33 | 只看該作者
你自己寫的程序不對!
不是移位問題,是循環不停。前8個移位沒有問題,但第九次就出問題了。
此時,i=0,再i--,則不會出現負值,而是255,所以你的循環就成死循環了!
除非你定義的i變量是有符號的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

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