24小时热门版块排行榜    

Znn3bq.jpeg
查看: 971  |  回复: 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的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085600材料与化工349分求调剂 +5 李木子啊哈哈 2026-04-12 5/250 2026-04-12 20:10 by bljnqdcc
[考研] 材料工程085601,270求调剂 +34 @ASDF1234 2026-04-08 36/1800 2026-04-12 19:58 by qingfeng258
[考研] 366求调剂 +8 不知名的小卅 2026-04-11 8/400 2026-04-12 19:49 by zhouxiaoyu
[硕博家园] 有没有学校材料专业收跨调(一志愿085410) +6 momo(上岸版) 2026-04-06 9/450 2026-04-11 22:38 by wj165256
[考研] 0854调剂 +8 长弓傲 2026-04-11 9/450 2026-04-11 21:44 by 蓝云思雨
[考研] 本人女孩 +7 吼吼, 2026-04-10 9/450 2026-04-11 14:45 by ACS Nano——
[考研] 274求调剂求调剂 +11 Jachenbingoo 2026-04-06 14/700 2026-04-11 11:37 by 紫曦紫棋
[考研] 275求调剂 +9 1624447980 2026-04-08 10/500 2026-04-11 10:20 by Delta2012
[考研] 282,求调剂 +12 jggshjkkm 2026-04-09 14/700 2026-04-11 09:39 by 猪会飞
[考研] 考研调剂 +26 硕星赴 2026-04-09 27/1350 2026-04-10 22:24 by 猪会飞
[考研] 083200 305分 求二轮调剂 不接受跨专业 +9 Claireyyyy 2026-04-09 10/500 2026-04-10 21:21 by Claireyyyy
[考研] 362求调剂 +10 我要考大 2026-04-06 14/700 2026-04-10 17:00 by luoyongfeng
[考研] 环境专硕调剂 +16 会说话的肘子 2026-04-06 16/800 2026-04-10 10:30 by asy1wn
[考研] 材料专硕调剂 +16 哈哈哈吼吼吼哈 2026-04-07 17/850 2026-04-09 21:16 by wutongshun
[考研] 一志愿武理车辆 281 求调剂 +5 上岸研究生. 2026-04-07 5/250 2026-04-09 15:56 by only周
[考研] 一志愿985初试354分生物调剂 +3 031001 2026-04-06 3/150 2026-04-09 00:30 by Evan_Liu
[考研] 求调剂 +11 wwwwabcde 2026-04-07 11/550 2026-04-07 23:16 by JourneyLucky
[考研] 312求调剂 +4 LR6 2026-04-06 4/200 2026-04-07 08:42 by jp9609
[考研] 071000生物学调剂 +7 拉提桃 2026-04-06 7/350 2026-04-06 18:55 by 52305043001
[考研] 307求调剂 +3 所念及所望 2026-04-06 3/150 2026-04-06 17:30 by 土木硕士招生
信息提示
请填处理意见