打印
[疑难问答]

在KEILC中sbit bit可否做函数的参数

[复制链接]
3617|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laslison|  楼主 | 2009-10-24 21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
近日在摸索C51单片机的模拟串口功能:
SendData(unsigned char inch) 此函数功能已通过验证(由于需要使用3个模拟发送串口,为简化代码,想通过参数选择I/O口)
再试想通过类似SendData(unsigned char inch,sbit TX)但这里应该不正确,这里的TX要么只能为0或者为1,应该是指向地址的变量参数才对,但我不知道怎么搞.
我再换思想SendData(unsigned char inch,iunsigned char IO_NO )
{
   if (IO_NO==17) TX=P1^7;
  if (IO_NO==27) TX=P2^7;
.......
}
还是没有用,TX还是等于第一次定义的sbit P3^1,可有什么方法解决通过函数的参数供我选择批定的I/O口?
沙发
huamunv| | 2009-10-24 21:45 | 只看该作者
位变量可以做参数

使用特权

评论回复
板凳
suoma| | 2009-10-24 21:47 | 只看该作者
在Keil中没有指向位变量的指针

使用特权

评论回复
地板
laslison|  楼主 | 2009-10-24 21:51 | 只看该作者
有什么方法可以送达函数中传递地址?

使用特权

评论回复
5
huamunv| | 2009-10-26 19:59 | 只看该作者
这里的“^”代表什么来着

使用特权

评论回复
6
laslison|  楼主 | 2009-10-26 20:20 | 只看该作者
“ ^ ”这个符号在非位定义时使用表示异或

使用特权

评论回复
7
Karlshen| | 2009-10-26 21:20 | 只看该作者
可以

使用特权

评论回复
8
laslison|  楼主 | 2009-10-27 22:02 | 只看该作者
要做4对(4个收4个发共8个)模拟串口,得写几个同样的函数?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

791

帖子

1

粉丝