24小时热门版块排行榜    

查看: 955  |  回复: 3
当前主题已经存档。

daiweisc

银虫 (小有名气)

[交流] 【求助】Keil C51的强制类型转换问题?【已搜无重复】

Keil C51的强制类型转换问题见下面的程序:
bit shout(unsigned char write_data)
{
        unsigned char i;
        bit ack_bit;
        for(i = 0; i < 8; i++)               
        {
                SDA = (bit)(write_data & 0x80);
                _nop_();
                SCL = 1;
                _nop_();
                _nop_();
                SCL = 0;
                write_data <<= 1;
        }
        SDA = 1;                       
        _nop_();
        _nop_();
        SCL = 1;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        ack_bit = SDA;                        // 读取应答
        SCL = 0;
        return ack_bit;                        // 返回AT24Cxx应答位
}
其中SDA = (bit)(write_data & 0x80);语句是否是强制类型转换,具体含义是什么?
请高手指教

[ Last edited by bslt on 2009-5-11 at 10:41 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bigmouth1027

新虫 (初入文坛)


sinapdb(金币+1,VIP+0):thanks
是强制类型转换
bit是位
这个语句是赋值语句
即对管脚进行位操作
赋值0或者1
2楼2008-08-22 11:44:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hid

银虫 (初入文坛)


gjliu(金币+1,VIP+0):谢谢交流。 5-10 12:51
SDA = (bit)(write_data & 0x80);

write_data和0x80位与的结构存放在临时变量里面,可能值就是0x80和0x00
强制转换,非零为1
3楼2009-05-09 23:16:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wushihai


bslt(金币+1,VIP+0):欢迎常来信息版交流讨论! 5-11 10:13
SDA = (bit)(write_data & 0x80);
楼上说的对时强制类型转换,非零即一。
我认为如果与完后的结果是零,SDA就是一个bit 0;
如果与完后结果不是零,SDA就是一个bit 1.
4楼2009-05-10 14:57:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 daiweisc 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿西安交通大学材料工程专业 282分求调剂 +11 枫桥ZL 2026-03-18 13/650 2026-03-22 20:26 by edmund7
[考研] 308求调剂 +3 墨墨漠 2026-03-21 3/150 2026-03-22 16:54 by i_cooler
[考研] 0856材料专硕353求调剂 +4 NIFFFfff 2026-03-20 4/200 2026-03-22 09:49 by 2026paper
[考研] 0703化学调剂 +4 妮妮ninicgb 2026-03-21 4/200 2026-03-21 18:39 by 学员8dgXkO
[考研] 工科0856求调剂 +3 沐析汀汀 2026-03-21 3/150 2026-03-21 18:30 by 学员8dgXkO
[考研] 一志愿山大07化学 332分 四六级已过 本科山东双非 求调剂! +3 不想理你 2026-03-16 3/150 2026-03-21 03:59 by JourneyLucky
[考研] 二本跨考郑大材料306英一数二 +3 z1z2z3879 2026-03-17 3/150 2026-03-21 02:29 by JourneyLucky
[考研] 化学求调剂 +4 临泽境llllll 2026-03-17 5/250 2026-03-21 02:23 by JourneyLucky
[考研] 一志愿华中科技大学,080502,354分求调剂 +5 守候夕阳CF 2026-03-18 5/250 2026-03-21 01:06 by JourneyLucky
[考研] 材料专硕英一数二306 +7 z1z2z3879 2026-03-18 7/350 2026-03-20 23:48 by JourneyLucky
[考研] 295求调剂 +4 一志愿京区211 2026-03-18 6/300 2026-03-20 23:41 by JourneyLucky
[考研] 085600材料与化工 +8 安全上岸! 2026-03-16 8/400 2026-03-20 22:13 by luoyongfeng
[考研] 求调剂一志愿南京航空航天大学289分 +3 @taotao 2026-03-19 3/150 2026-03-20 21:34 by JourneyLucky
[考研] 一志愿西南交通 专硕 材料355 本科双非 求调剂 +5 西南交通专材355 2026-03-19 5/250 2026-03-20 21:10 by JourneyLucky
[考研] 08工学调剂 +5 用户573181 2026-03-20 5/250 2026-03-20 15:47 by xia_2003
[考研] 298-一志愿中国农业大学-求调剂 +9 手机用户 2026-03-17 9/450 2026-03-20 14:24 by 无懈可击111
[考研] 求调剂 +3 暗涌afhb 2026-03-16 3/150 2026-03-20 00:28 by 河南大学校友
[考研] 085601材料工程专硕求调剂 +10 慕寒mio 2026-03-16 10/500 2026-03-19 15:26 by 丁丁*
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[硕博家园] 湖北工业大学 生命科学与健康学院-课题组招收2026级食品/生物方向硕士 +3 1喜春8 2026-03-17 5/250 2026-03-17 17:18 by ber川cool子
信息提示
请填处理意见