24小时热门版块排行榜    

查看: 958  |  回复: 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的回帖

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的回帖
查看全部 4 个回答

bigmouth1027

新虫 (初入文坛)


sinapdb(金币+1,VIP+0):thanks
是强制类型转换
bit是位
这个语句是赋值语句
即对管脚进行位操作
赋值0或者1
2楼2008-08-22 11:44:56
已阅   回复此楼   关注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的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 284求调剂 +6 Zhao anqi 2026-03-22 6/300 2026-03-23 09:23 by king123!
[考研] 276求调剂 +3 YNRYG 2026-03-21 4/200 2026-03-23 08:31 by 醉在风里
[考研] 一志愿上海交大生物与医药专硕324分,求调剂 +3 jiajunX 2026-03-22 3/150 2026-03-22 19:32 by brblmd
[考研] 287求调剂 +8 晨昏线与星海 2026-03-19 9/450 2026-03-22 17:01 by i_cooler
[考研] 289求调剂 +7 怀瑾握瑜l 2026-03-20 7/350 2026-03-22 15:57 by ColorlessPI
[考研] 求调剂院校信息 +6 CX 330 2026-03-21 6/300 2026-03-22 15:25 by 无懈可击111
[考研] 0856材料专硕353求调剂 +4 NIFFFfff 2026-03-20 4/200 2026-03-22 09:49 by 2026paper
[考研] 280求调剂 +11 咕噜晓晓 2026-03-18 12/600 2026-03-21 22:40 by ACS Nano——
[考研] 化学调剂 +5 yzysaa 2026-03-21 5/250 2026-03-21 22:12 by peike
[考研] 材料工程专硕 348分求调剂 +3 冬辞. 2026-03-17 5/250 2026-03-21 18:47 by 学员8dgXkO
[考研] 求调剂 +3 .m.. 2026-03-21 4/200 2026-03-21 16:25 by barlinike
[考研] 083200学硕321分一志愿暨南大学求调剂 +3 innocenceF 2026-03-17 3/150 2026-03-21 02:35 by JourneyLucky
[考研] 一志愿西南交大,求调剂 +5 材化逐梦人 2026-03-18 5/250 2026-03-21 00:26 by JourneyLucky
[考研] 350求调剂 +5 weudhdk 2026-03-19 5/250 2026-03-20 22:04 by luoyongfeng
[考研] 261求B区调剂,科研经历丰富 +3 牛奶很忙 2026-03-20 4/200 2026-03-20 19:34 by JourneyLucky
[考研] 085410人工智能专硕317求调剂(0854都可以) +4 xbxudjdn 2026-03-18 4/200 2026-03-20 09:07 by 不168
[考研] 材料学硕318求调剂 +5 February_Feb 2026-03-19 5/250 2026-03-19 23:51 by 23Postgrad
[考研] 收复试调剂生 +4 雨后秋荷 2026-03-18 4/200 2026-03-18 14:16 by elevennnne
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[考研] [导师推荐]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
信息提示
请填处理意见