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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 激情网五月天 | 日韩中文字幕 | 人人爽人人草 | 亚洲码欧美码一区二区三区 | 伊人欧美视频 | 欧美极品在线观看 | 一区二区在线不卡 | 欧美久久视频 | 欧美午夜精品 | 99视频在线 | 亚洲天堂中文字幕 | 国产不卡在线观看 | av高清毛片| 日韩久久网 | 中文字幕 视频一区 | 一级毛片大全免费播放 | 日韩无| 欧美精品一区二区三区蜜桃视频 | 久久精品无码一区二区三区 | 国产高清在线精品 | 久久精品| 国产精品久久久久久久久图文区 | 国产精品视频久久久 | 日韩精品在线一区 | 色偷偷噜噜噜亚洲男人 | 一区二区三区日韩 | 日p视频免费看 | 欧美一级在线观看 | 欧美video | 午夜视频网 | 欧美成人精品激情在线观看 | 日本亚洲欧美 | 天天色天天射天天干 | 国产91色在线 | 亚洲 | 中国黄色在线视频 | aacc678成免费人电影网站 | 成人免费大片黄在线播放 | 国产做a爱免费视频 | 久久一区二区三区四区 | 欧美xxxx在线 | 国产在线中文字幕 |