数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1564|回复: 12

[other] C编程关于参数传递的问题请教,希望高手得闲指点一下

[复制链接]
发表于 2019-12-5 15:59:21 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
关注过我发帖的坛友应该知道,我爱玩单片机但编程很菜,今天有一个C编程的问题来请教大家,希望各位指点一下。
做过好多时钟,按键程序早就不是问题了,今天找出OLED0.96”的小屏幕准备做一个定时器,调试按键时突发奇想改变了一下参数的传递方法,结果没有成功,具体问题如下:
1.好用的函数:演示效果为N1每次按动数码显示+1变化
//===========================

//在程序开头定义的公用变量 uchar r;
void set()
{
if(N1==0)//选择键   
{
delay_1ms(25);      
if(N1==0)   
  {   
  r++;   
  if(r>7)   
   {
   r=0;
   }
  while(!N1);
  }
}
}
//====主函数===
main()
{

while(1)
{
set();
Display_convert(r);//数码管显示函数

}}
///---------此处是分割线------------------------------------------///
2.好用的函数,演示效果同上:
//====主函数==========
main()
{
uchar z;
while(1)
{
if(N1==0)//选择键   
{
delay_1ms(25);      
if(N1==0)   
  {   
  z++;   
  if(z>7)   
   {
   z=0;
   }
Display_convert(z);
  while(!N1);
  }
}

}}
///-----------以下是有问题的函数---------------------------------///
3.不好用的函数,演示效果为数码管显示不变、键值参数没有被传递
uchar set()
{
uchar r
if(N1==0)//选择键   
{
delay_1ms(25);      
if(N1==0)   
  { led =~led;//此处临时加一个灯演示按键是否有效
  r++;   
  if(r>7)   
   {
   r=0;
   }
  while(!N1);
  }
}
return(r);
}
//====主函数========
main()
{
uchar z;
while(1)
{
z=set();   
Display_convert(z); //数码管显示无变化但led指示灯变化是正常的
}}
 楼主| 发表于 2019-12-6 20:50:26 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-6 20:54:11 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-7 20:08:11 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-12-20 01:36 , Processed in 0.468001 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表