欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機(jī)C語言IO口做形參傳給函數(shù)問題 [打印本頁]

作者: 李冬    時(shí)間: 2022-5-12 09:43
標(biāo)題: 單片機(jī)C語言IO口做形參傳給函數(shù)問題
這兩種方法都不對, 閃燈函數(shù)怎么寫,可以靈活的控制IO...
sfr         P3          =           0xb0;
sbit        P30         =           P3^0;
sbit        P31         =           P3^1;
sbit        P32         =           P3^2;
sbit        P33         =           P3^3;
sbit        P34         =           P3^4;
sbit        P35         =           P3^5;
sbit        P36         =           P3^6;
sbit        P37         =           P3^7;

void sd(uchar x ,uchar y,uchar z) // 閃燈
{
    y ^=(1<<z);
    delay_ms(x);
    y &=~(1<<z);
    delay_ms(x);


}



void sd(uchar x ,SBIT y ) // 閃燈
{
    y  =1;
    delay_ms(x);
    y  =0;
    delay_ms(x);


}

sd(500,P3,5);


作者: lkc8210    時(shí)間: 2022-5-12 11:49
sfr和sbit 都不可以形參
作者: yzwzfyz    時(shí)間: 2022-5-12 13:49
Y是什么?編譯平臺(tái)不知道,你也不知道。如果你知道的話,就告訴平臺(tái)。
作者: angmall    時(shí)間: 2022-5-12 15:32
這是 8051 硬件架構(gòu)的一個(gè)基本限制:它無法間接尋址 SFR——包括端口。

不過你可以這樣用


  1. void setpin(uchar  port_num, uchar bit_index )
  2. {
  3.   switch( port_num)
  4.   {
  5.     case 1:
  6.        P1 |= ( 1 << bit_index );
  7.     case 2:
  8.        P2 |= ( 1 << bit_index );
  9.     case 3:
  10.        P3 |= ( 1 << bit_index );
  11. /*   case 4:
  12.        P4 |= ( 1 << bit_index );
  13.     case 5:
  14.        P5 |= ( 1 << bit_index );*/

  15.   }
  16. }

  17. void clrpin( uchar port_num, uchar bit_index )
  18. {
  19.   switch (port_num)
  20.   {
  21.     case 1:
  22.        P1 &= ~( 1 << bit_index );
  23.     case 2:
  24.        P2 &= ~( 1 << bit_index );
  25.     case 3:
  26.        P3 &= ~( 1 << bit_index );
  27. /*   case 4:
  28.        P4 &=~ ( 1 << bit_index );
  29.     case 5:
  30.        P5 &= ~( 1 << bit_index );*/

  31.   }
  32. }

  33. void sd(uchar x , uchar n,  uchar y) // 閃燈
  34. {

  35.     setpin(n,y);
  36.     delay_ms(x);

  37.     clrpin(n,y);
  38.     delay_ms(x);

  39. }

  40. sd(500, 3, 5);

復(fù)制代碼





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1