24小时热门版块排行榜    

查看: 956  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 307求调剂 +11 冷笙123 2026-03-17 11/550 2026-03-22 20:16 by edmund7
[考研] 材料与化工085600,总分304,本科有两篇sci参与,求调剂 +4 幸运的酱酱 2026-03-22 5/250 2026-03-22 20:15 by edmund7
[考研] 招08考数学 +4 laoshidan 2026-03-20 8/400 2026-03-22 19:56 by 小皮蛋酱
[考研] 环境学硕288求调剂 +6 皮皮皮123456 2026-03-22 6/300 2026-03-22 16:52 by i_cooler
[考研] 298求调剂一志愿211 +3 上岸6666@ 2026-03-20 3/150 2026-03-22 15:50 by ColorlessPI
[考研] 311求调剂 +3 勇敢的小吴 2026-03-20 3/150 2026-03-21 17:40 by ColorlessPI
[考研] 299求调剂 +5 shxchem 2026-03-20 7/350 2026-03-21 17:09 by ColorlessPI
[考研] 299求调剂 +4 某某某某位 2026-03-21 4/200 2026-03-21 16:30 by barlinike
[考研] 南昌大学材料专硕311分求调剂 +6 77chaselx 2026-03-20 6/300 2026-03-21 07:24 by JourneyLucky
[考研] 346求调剂[0856] +4 WayneLim327 2026-03-16 7/350 2026-03-21 04:02 by JourneyLucky
[考研] 301求调剂 +10 yy要上岸呀 2026-03-17 10/500 2026-03-21 03:14 by JourneyLucky
[考研] 324分 085600材料化工求调剂 +4 llllkkkhh 2026-03-18 4/200 2026-03-21 01:24 by JourneyLucky
[考研] 一志愿重庆大学085700资源与环境专硕,总分308求调剂 +3 墨墨漠 2026-03-18 3/150 2026-03-21 00:39 by JourneyLucky
[考研] 317求调剂 +5 申子申申 2026-03-19 9/450 2026-03-20 22:26 by JourneyLucky
[考研] 求调剂,一志愿:南京航空航天大学大学 ,080500材料科学与工程学硕,总分289分 +4 @taotao 2026-03-19 4/200 2026-03-20 22:14 by JourneyLucky
[考研] 材料学求调剂 +4 Stella_Yao 2026-03-20 4/200 2026-03-20 20:28 by ms629
[考研] 一志愿中国海洋大学,生物学,301分,求调剂 +5 1孙悟空 2026-03-17 6/300 2026-03-19 23:46 by zcl123
[考博] 申博26年 +3 八6八68 2026-03-19 3/150 2026-03-19 19:43 by nxgogo
[考研] 085600材料与化工求调剂 +6 绪幸与子 2026-03-17 6/300 2026-03-19 13:27 by houyaoxu
[考研] 085601专硕,总分342求调剂,地区不限 +5 share_joy 2026-03-16 5/250 2026-03-18 14:48 by haxia
信息提示
请填处理意见