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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

新人在使用單片機的時候碰到了一個問題

  [復制鏈接]
跳轉到指定樓層
樓主
ID:917597 發表于 2021-8-24 17:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
新手玩單片機,在寫C程序的時候使用到一個變量flag作為標志位,設想的是賦初值為0,按鍵每按下一次進行取反,使得標志位在0和1之間切換。實際調試的時候發現flag定義的時候是無符號整型變量,按位取反之后并不是1。后來想到標志位flag可以用位定義,就可以實現按下按鍵后標志位取反。

雖然達成了目的,但是我想到一個問題:普通的變量由于位數無法實現0和1的取反,如果使用位定義那會平白占用一個IO口,過于浪費,這肯定不是正常的方法。那么一般51單片機在使用的時候是如何實現這一目的的呢?這個問題百度不知道如何描述,只能上論壇上面來詢問一下各位大佬,煩請各位為我答疑解惑。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:424598 發表于 2021-8-24 19:36 | 只看該作者
本帖最后由 ssk7793 于 2021-8-24 19:43 編輯

不明白你在說什么,為什么會占io口呢?取反變量用bit定義
回復

使用道具 舉報

板凳
ID:94031 發表于 2021-8-24 20:24 | 只看該作者
可以用 bit 定義位變量,比如 bit   Flag_M,Flag_F;
回復

使用道具 舉報

地板
ID:57657 發表于 2021-8-24 20:32 | 只看該作者
你要用邏輯取反,而不是按位取反,位變量用bit定義。
回復

使用道具 舉報

5#
ID:94657 發表于 2021-8-24 21:35 | 只看該作者
1.按位定義flag,不存在浪費一個IO的問題;
2.不按位來定義flag, 如果初值為0,按鍵后取反,應為0xff,C語言中非0為真,你用if(flag)..... 去做按下鍵做什么就可以了

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
ID:917597 發表于 2021-8-25 00:33 | 只看該作者
ssk7793 發表于 2021-8-24 19:36
不明白你在說什么,為什么會占io口呢?取反變量用bit定義

我直接sbit flag=P1^0了......這就是我想出來的辦法
回復

使用道具 舉報

7#
ID:161164 發表于 2021-8-25 07:41 | 只看該作者
jsezcyc 發表于 2021-8-25 00:33
我直接sbit flag=P1^0了......這就是我想出來的辦法

bit flag = 0;不行嗎?
回復

使用道具 舉報

8#
ID:477532 發表于 2021-8-25 08:13 | 只看該作者
注意~與!的不同
回復

使用道具 舉報

9#
ID:115923 發表于 2021-8-25 08:36 | 只看該作者
bool 型 變量,   是不是這個意思?     C語言沒有學好 ,  哈哈哈哈.
STM32這類的 ,   就不要擔心浪費的問題.    C51要考慮.
回復

使用道具 舉報

10#
ID:917597 發表于 2021-8-25 10:17 | 只看該作者
之前學過C語言,我用的那本單片機教材里面是直接以例程講解知識點的里面沒講單片機和C語言的區別,我之前只知道sbit來定義引腳,不知道可以用bit直接定義位變量。[捂臉哭.jpg]謝謝各位大佬,我現在知道該怎么做了。
回復

使用道具 舉報

11#
ID:609524 發表于 2021-8-25 11:44 | 只看該作者
jsezcyc 發表于 2021-8-25 10:17
之前學過C語言,我用的那本單片機教材里面是直接以例程講解知識點的里面沒講單片機和C語言的區別,我之前只 ...

也可以使用結構體來定義
回復

使用道具 舉報

12#
ID:584195 發表于 2021-8-25 12:39 | 只看該作者
你按位取反就可以了呀!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色片免费 | 中文字幕日韩欧美一区二区三区 | av日韩高清 | 国产精品视频导航 | 亚洲精品九九 | 久久国产欧美日韩精品 | 日韩一级黄色片 | 国产福利在线 | 日韩成人一区 | 色精品视频| 亚洲精品免费看 | 亚洲综合国产精品 | 九九福利 | avmans最新导航地址 | 一区二区三区高清 | 一区二区三区精品视频 | 亚洲精品一区二区三区四区高清 | 国产资源在线观看 | 手机看片在线播放 | 男女视频在线观看免费 | 日本在线一二 | 国产精品特级毛片一区二区三区 | 日本a级大片 | 操操日 | 天天综合网天天综合色 | 精品国产乱码久久久久久a丨 | 五十女人一级毛片 | 精品国产一区二区三区久久狼黑人 | 亚洲精品3 | 成人av看片 | 精品视频一区二区三区 | 久久久久综合 | 久久亚洲国产 | 精品96久久久久久中文字幕无 | 日韩在线欧美 | wwwsihu| 久久黄色网 | 亚洲在线一区 | 成人午夜在线视频 | 欧美成人精品一区二区男人看 | 亚洲成人在线免费 |