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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

51單片機定義變量error C129: missing ';' before '^1

查看數: 1757 | 評論數: 4 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2023-3-25 11:39

正文摘要:

大家好!我是單片機新手。定義變量我不想用sbit=p^x這種現成的,我想用unsigned int a;/unsigned char a;編譯不了 unsigned int a;//unsigned char a;也試試 P2^0=a; K1=P2^0; unsigned int b; P2^1=b; K2=P2^ ...

回復

ID:1034262 發表于 2023-3-25 22:52
樓主要好好看看C語言,同時看一下C51。
ID:883242 發表于 2023-3-25 15:35
devcang 發表于 2023-3-25 15:12
unsigned int b;
P2^1=b;

錯!P2是可以位尋址的,位地址從0xa0~0xa7,P2.1的位地址是0xa1。

你和樓主的錯誤就是不知道c語言里面^是個運算符,不能隨心所欲地做位地址來用,那樣子會跟c語言基本語法發生矛盾。Keil C51為了使用位地址,采用的是sbit和^配合使用來定義位地址,比如sbit P21=P2^1;這樣的寫法,因為標準c語言里面沒有sbit這個關鍵字,是c51自行擴展出來的,所以這種寫法不會與c語言語法發生矛盾。
ID:277550 發表于 2023-3-25 15:12

unsigned int b;
P2^1=b;

P2第n位,不可以直接賦值。使用unsign char類型,加以位運算,如與、或等

要把第2位設置高,使用
P2 |= 2;

要把第2位設置低,使用
P2 &= 0xfd;

其它位,類推
ID:883242 發表于 2023-3-25 14:32
^是異或,P2^0=a;是標準的語法錯誤——左值不可以參與運算。

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲视频一区在线 | 在线观看免费av片 | 911网站大全在线观看 | 亚洲精品在线免费 | 久久久久久亚洲精品 | 国产乱码精品1区2区3区 | 欧美天天视频 | 日韩在线一区二区 | 自拍偷拍第1页 | 亚洲精品一区二区网址 | 免费观看一级特黄欧美大片 | av色站| 欧美成人不卡 | av中文在线 | 一区二区三区视频在线观看 | 国产成人综合一区二区三区 | 亚洲成色777777在线观看影院 | 欧美五月婷婷 | 狠狠爱综合网 | 男女啪啪高潮无遮挡免费动态 | 美女视频一区二区三区 | 欧美韩一区二区 | 久久国产综合 | 亚洲欧美国产一区二区三区 | 亚洲不卡在线观看 | 夜夜艹 | 九九热这里 | 国产精品亚洲成在人线 | 亚洲 欧美 日韩 在线 | 网站一区二区三区 | 午夜精品一区二区三区免费视频 | 成人在线观看免费 | 91av免费看| 少妇一区二区三区 | 国产成人综合亚洲欧美94在线 | 国内精品一区二区三区 | 欧美中文字幕一区二区三区亚洲 | 精品国产一区二区三区观看不卡 | 国产成人小视频 | 亚洲一区二区三区国产 | 精品久久久久一区二区国产 |