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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1872|回復: 3
收起左側

還是linux下的sdcc問題,請大佬給予指導

[復制鏈接]
ID:656911 發表于 2020-10-8 13:00 | 顯示全部樓層 |閱讀模式
數據類型擴充:
1、sfc:特殊功能寄存器聲明
舉例:
__sfc __at 0x80 led;
將P0口聲明為led

#define led P0;
將P0口宏預處理為led

2、sbit:特殊功能位聲明
舉例:
__sbit __at 0x80 led;
將P0_0口聲明為led

問題點:

sbit怎么用#define?
另外bit取反為什么不能用,比如led=~led就報錯。


回復

使用道具 舉報

ID:656911 發表于 2020-10-8 14:07 | 顯示全部樓層
報錯內容為:
using ~ on bit/bool/unsigned char variables can give unexpected results due to promotion to int
回復

使用道具 舉報

ID:656911 發表于 2020-10-8 14:48 | 顯示全部樓層
取反確實看的教材沒寫清楚,正確方式為:
!符號是位取反(是“位”),只針對位變量。
~符號是按位取反(是“按位”),針對字節變量
回復

使用道具 舉報

ID:745431 發表于 2021-9-13 16:10 | 顯示全部樓層
在“#define led P0”可用前,一定需要 #include 一個定義了IO口的頭文件,例如你 #include "stc15fxx.h" 之后就可以直接 #define led P0了,要注意沒有分號。
在stc15fxx.h 里會有如下:
#define _P0 0x80
SFR(P0, 0x80);          //1111,1111 端口0
SBIT(P00, _P0, 0);
SBIT(P01, _P0, 1);
SBIT(P02, _P0, 2);
SBIT(P03, _P0, 3);
SBIT(P04, _P0, 4);
SBIT(P05, _P0, 5);
SBIT(P06, _P0, 6);
SBIT(P07, _P0, 7);
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久另类| 精品国产乱码久久久久久图片 | 成年无码av片在线 | 亚洲免费成人av | 亚洲精品福利视频 | 国产精品久久久久久久久久免费看 | 精品久久久久久亚洲精品 | 国产麻豆乱码精品一区二区三区 | 欧美精品二区 | 黄a网 | 亚洲国产成人精品女人久久久 | 色爱综合| 黄色片av| 99久久成人| 二区久久 | 成人精品一区二区三区 | 亚洲美女天堂网 | 特级a欧美做爰片毛片 | 欧美一级久久 | 超碰在线观看97 | 国产精品久久久久久二区 | www.操.com| 日韩精品成人免费观看视频 | 操操日 | 91 在线| 天天干com | 亚洲国产欧美日韩 | 国产高清在线 | 欧美日韩淫片 | 日韩在线一区视频 | 人人干人人艹 | 国产清纯白嫩初高生视频在线观看 | 国产重口老太伦 | 色综合一区二区 | 久热国产精品视频 | 亚洲国产免费 | 久久99精品久久久久蜜桃tv | 久久久久国产一区二区三区四区 | 自拍偷拍中文字幕 | 精品九九九 | 日韩高清国产一区在线 |