[疑难问答] 在KEILC中sbit bit可否做函数的参数

[复制链接]
5123|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 | 显示全部楼层
有什么方法可以送达函数中传递地址?
huamunv 发表于 2009-10-26 19:59 | 显示全部楼层
这里的“^”代表什么来着
 楼主| laslison 发表于 2009-10-26 20:20 | 显示全部楼层
“ ^ ”这个符号在非位定义时使用表示异或
Karlshen 发表于 2009-10-26 21:20 | 显示全部楼层
 楼主| laslison 发表于 2009-10-27 22:02 | 显示全部楼层
要做4对(4个收4个发共8个)模拟串口,得写几个同样的函数?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

791

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部