网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月17日漏签0天
c语言吧 关注:801,835贴子:4,376,072
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 5回复贴,共1页
<<返回c语言吧
>0< 加载中...

单片机C语言问题

  • 只看楼主
  • 收藏

  • 回复
  • jackywang523
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
unsigned char data byte_status=0x43;

bit use_byte_status(void){
   return byte_status&0x04;
}
问use_byte_status(void)返回的是什么类型什么值

高手给指点一下啊,我刚开始学,很不明白,顺便把分析过程也帮我分析


  • KarniMata
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
返回 “位”类型,对应的是某个端口的电平高低

这一句byte_status&0x04,是取某个P口的第3位,比如P0_3,


2026-02-17 00:57:08
广告
不感兴趣
开通SVIP免广告
  • KarniMata
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
错了,第3位是P0_2,,


  • jackywang523
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
另外的问题:byte_status&0x04的结果不是一个8bit的数据吗?
如果改成byte_status&0x44,会是什么结果呢?
我用KEILC编译了一下修改后的程序,没有报错,但是单步调试的话程序就飞了。
等待大虾指点


  • KarniMata
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
keilc里面,数据类型转换和一般的c好像不太一样,所以一般要特别小心,不是必需的情况下,尽量使用好把握的类型,想研究一下的话可以尝试,一般总不至于紧张到ram只剩下一个字节了吧,,

比如你的这个函数,完全可以让他返回unsigned char型的
unsigned char use_byte_status(void){ 
 return byte_status&0x04; 
} 
或者这样用
int use_byte_status(void)
{ 
if( 0x04==byte_status&0x04)
 return 1;
else
 return 0; 
} 

改成byte_status&0x44,,这个函数是取指定端口的状态的,就只能取变量的某一位或你指定的几个端口位置,除非你是想同时判断第P02,P06两个端口是否为高电平

搜一下找个单片机的c语言教程看看,,


  • jackywang523
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
谢谢大虾


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示