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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2546|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产91久久精品一区二区 | 亚洲成人网在线观看 | 九九色综合| 午夜小视频在线播放 | av中文在线 | av 一区二区三区 | 国产精品久久久久久久久免费丝袜 | 亚洲视频二区 | 91欧美激情一区二区三区成人 | av网站免费在线观看 | 91人人看 | 91精品一区二区三区久久久久 | 亚洲高清成人在线 | 一区二区三区免费 | 午夜三级视频 | 亚洲一区自拍 | 黄色网址免费看 | 精品国产一区二区在线 | 99国产精品99久久久久久 | 亚洲视频中文 | 国产日日操 | 91精品国产乱码久久久 | 色必久久 | 天天操 夜夜操 | 欧美大片一区 | 毛片毛片毛片毛片 | 欧产日产国产精品99 | www日韩| 九九热热九九 | 日韩成人在线电影 | 国产精品毛片一区二区三区 | av中文字幕在线 | 免费久久精品 | 国产精品一区网站 | 亚洲高清在线播放 | 在线精品一区二区 | 精品久久香蕉国产线看观看亚洲 | 午夜av免费 | 亚洲视频一区二区三区 | 999久久久免费精品国产 | 在线免费观看a级片 |