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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2315|回復: 14
收起左側

這個C語言代碼怎么理解?

  [復制鏈接]
ID:656213 發表于 2021-11-1 23:46 | 顯示全部樓層 |閱讀模式
#define        I_SW        !P30                                           uint8_t        Sig;

Sig        =        I_SW?        1: 0;      //條件選擇

看下面,是不是這樣的?
!P30 = 1 ,  Sig = 1
!P30 = 0 ,  Sig = 0





回復

使用道具 舉報

ID:908826 發表于 2021-11-2 08:12 | 顯示全部樓層
三目運算符,我覺得是這樣,因為我也是這樣理解的,蹲一蹲大佬
回復

使用道具 舉報

ID:752974 發表于 2021-11-2 08:40 | 顯示全部樓層
對頭!!!!!
回復

使用道具 舉報

ID:276663 發表于 2021-11-2 09:10 | 顯示全部樓層
是的,理解正確。
回復

使用道具 舉報

ID:277550 發表于 2021-11-2 09:57 | 顯示全部樓層
#define        I_SW        !P30


uint8_t        Sig;

Sig    =    I_SW?1: 0;      

是三目運算,如果I_SW是TRUE,Sig=1,否則Sig=0。

本例中,就是P30==0則Sig=1,否則Sig=0;

這個是C語言的基礎知識。


回復

使用道具 舉報

ID:656213 發表于 2021-11-2 10:36 | 顯示全部樓層
devcang 發表于 2021-11-2 09:57
#define        I_SW        !P30

其實這里我主要是迷惑在 !符號這里了,如果不加這個符號,#define  I_SW  P30,   這樣就好理解多了。謝謝大師指點!
回復

使用道具 舉報

ID:656213 發表于 2021-11-2 10:46 | 顯示全部樓層
devcang 發表于 2021-11-2 09:57
#define        I_SW        !P30

另外,還想請教一個問題,全局變量,沒有賦值,那么第一次使用的時候是不是默認是 0 ?
回復

使用道具 舉報

ID:976967 發表于 2021-11-2 11:47 | 顯示全部樓層
I_SW是P30取反,然后Sig是將I_SW這個bool量轉為int,也就是P30>0—>I_SW是false—>Sig=1,P30≤0—>I_SW是true—>Sig=0
回復

使用道具 舉報

ID:976967 發表于 2021-11-2 11:49 | 顯示全部樓層
宏定義、取反、三目運算
回復

使用道具 舉報

ID:229375 發表于 2021-11-2 11:58 | 顯示全部樓層
jiahz2019 發表于 2021-11-2 10:46
另外,還想請教一個問題,全局變量,沒有賦值,那么第一次使用的時候是不是默認是 0 ?

這個要看單片機具體實現,一般來說是默認初始化為0,但我使用的錦瑞單片機不是這樣0..0
回復

使用道具 舉報

ID:883242 發表于 2021-11-2 12:00 | 顯示全部樓層
jiahz2019 發表于 2021-11-2 10:46
另外,還想請教一個問題,全局變量,沒有賦值,那么第一次使用的時候是不是默認是 0 ?

看startup.a51,你的判斷是對的。但是可以修改這個文件讓對應的全局變量不為0。
回復

使用道具 舉報

ID:976580 發表于 2021-11-2 12:02 | 顯示全部樓層
3目運算符
回復

使用道具 舉報

ID:656213 發表于 2021-11-2 14:29 | 顯示全部樓層
河邊洗腳人 發表于 2021-11-2 11:58
這個要看單片機具體實現,一般來說是默認初始化為0,但我使用的錦瑞單片機不是這樣0..0

這么巧,我現在看的這個程序也是錦銳的,CA51F351S4 ,  能否詳細講解一下?
回復

使用道具 舉報

ID:624769 發表于 2021-11-2 14:44 | 顯示全部樓層
jiahz2019 發表于 2021-11-2 14:29
這么巧,我現在看的這個程序也是錦銳的,CA51F351S4 ,  能否詳細講解一下?

所有的單片機, 上電之后,  內存(即聲明變量存放的地方)里面的數據都是隨機的,為0的概率幾乎沒有。所以,大多數單片機,編程的時候都會包含一個startup.a51的文件,它的作用就是把所有的內存地址全都置0(這個過程本身也是花費時間的,而并不是所有變量,你都需要他初始為0的,所以有的人會不包含這個文件,聲明變量的時候直接賦值),所以,如果你希望初始是0,而不知道為什么,你單片機編譯不自動包含startup.a51, 那么最簡單直接的方法,就是自己在聲明變量的時候,就給他賦值0。
回復

使用道具 舉報

ID:71233 發表于 2021-11-2 15:44 | 顯示全部樓層
這種寫法編譯后占用空間相對較大
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品电影在线观看 | 色视频网站| 亚洲视频免费一区 | 国产日日操 | 99精品国产一区二区三区 | 国内精品免费久久久久软件老师 | 99久久婷婷国产综合精品电影 | 亚洲一区 中文字幕 | 免费黄色a视频 | 在线精品一区二区三区 | 欧美精品福利视频 | 欧美黑人又粗大 | 毛片一区二区三区 | 国产乱码高清区二区三区在线 | 成人蜜桃av | 亚洲高清视频一区 | 亚洲免费视频播放 | 99国内精品久久久久久久 | 91大神在线资源观看无广告 | 亚洲精品99| 日韩精品一区二区三区四区视频 | 精品美女久久久久久免费 | 国产成人精品a视频一区www | 成人不卡 | 亚洲一区二区三区四区视频 | 国产精品久久久久久影视 | 久久综合影院 | 国产亚洲精品久久午夜玫瑰园 | 一区二区成人 | 亚洲一区二区在线播放 | 91精品国产综合久久久久久丝袜 | 在线免费黄色小视频 | www.国产日本 | 请别相信他免费喜剧电影在线观看 | 欧美中文字幕在线 | 成年人在线观看视频 | 国产精品久久久久久吹潮日韩动画 | 青春草国产 | 成人在线视频网址 | 91视频网 | 91超碰caoporn97人人 |