當前位置:首頁 » 編程語言 » c語言用函數調換引腳
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言用函數調換引腳

發布時間: 2022-09-15 08:44:14

『壹』 單片機c語言中如何替換定義好的引腳

因為同一個程序不能出現兩次#define定義同一個標識符,而且它定義的是常量不是變數,所以LAUNCH可以是變數,但不能是常量。
一般對埠操作的時候,另外做判斷;你上面的switch判斷可以設置flag標記,或者變數存入埠索引號,在具體操作的時候還需判斷,或者用索引代替。

『貳』 c語言函數的使用,定義一個交換函數 實現2個數字的交換。

void Swap(int&x,int&y)

{

int temp=0;

temp=x;

x=y;

y=temp;

}

int main()

{

int a=1;

int b=2;

Swap(a,b);

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

system("pause");

return 0;

}

運行結果:

(2)c語言用函數調換引腳擴展閱讀:

用指針交換:

void Swap(int*x,int*y)

{

int temp=0;

temp=*x;

*x=*y;

*y=temp;

}

int main()

{

int x=1;

int y=2;

Swap(&x,&y);

printf("x=%d,y=%d ",x,y);

system("pause");

return 0;

}

運行結果:

X=2;Y=1

『叄』 單片機C語言中如何替換定義好的引腳

1.
位地址在匯編語言中,只能直接定址,不支持間接定址。那麼,在
c
語言中,也就不能用指針來操作。所以不能定義單片機的寄存器。
2.
訪問寄存器可以通過直接地址引用來完成。
例如52單片機的寄存器有4組,分別為00h-07h,08h-0fh,10h-17h,18h-1fh,各組均8位元組,要結合程序狀態字寄存器psw(d0h)中的rs0,rs1的組合來確定是哪一組。
可以定義一個訪問rn的函數
typedef unsigned char uchar;
uchar dacrn(uchar n) //n=[0..7]
{
uchar data *p;
n += (psw & 0x18); //psw 7:cy 6:ac 5:f0 4:rs1 3:rs0 2:ov 1:f1 0:p
//本來要右移三位變為0-3,但由於是8個一組要乘以8(左移3位),所以直接加上寄存器編號就可以了
return *(uchar data *)n;
}

『肆』 C語言用函數如何實現兩個數交換

#include"stdio.h"int swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;}

main(){int x,y;printf("請輸入x與y的值,用空格隔開 ");scanf("%d%d",&x,&y);printf("x=%d,y=%d ",x,y);swap(&x,&y);printf("交換後 x=%d,y=%d ",x,y);}

(4)c語言用函數調換引腳擴展閱讀:

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

『伍』 c語言用函數將數組調換行和列

如果直接就x[j][i]=x[i][j],這個x[j][i]數據會被沖掉,下次運行到j,i的時候這個數據沒法取出來換了

『陸』 用單片機的一個引腳作為A/d轉換,求死循環主函數c語言,Adc_flag清0特別不懂,求解釋

對於AD轉換的一般性流程是這樣的:
1,首先初始化配置,將IO口配置為模擬輸入
2,啟動AD轉換並延時
3,等待轉換結束、對轉換標志位清零
4,讀取數據並發送數據
5,重新回到第二步。

『柒』 求單片機 c語言 控制引腳

ACC 是累加器啊,是會自動計數的,在C語言中還敢這么用?

需要另外定義一個變數!
void IOMOD(unsigned char 位置,unsigned char 值)
{
unsigned char i, var_P1;
var_P1 = P1;
for(i=8; i>0; i--)
{
if (i==位置) var_P1 = 值;
var_P1 = var_P1 >> 1;
}
P1 = var_P1;//這個是不是應該放到for循環裡面?不知道要求所以只是提醒一下
}

按照你的要求,是改變P1.x埠對應x的輸出值(友情提醒一下,這也是危險的。因為P1不是一個變數,讀取P1是指P1外部電路的情況,如果外部電路為低電平,但是這時候P1對應位輸出高電平的話就會有電流輸出,當然如果加好電阻的就沒事。)
void IOMOD(unsigned char 位置,unsigned char 值)
{
unsigned char i, var_P1;
if (值 == 1)
var_P1 = var_P1 | (1 << 位置); //對應位置1
else
var_P1 = var_P1 & ~(1 << 位置); //對應清0
P1 = var_P1;//重新輸出即可

}

『捌』 C語言用指針和函數調換兩個整數 幫忙修改

#include
void swap(int *p1,int *p2);
int main()
{
int a,b,*pa,*pb;
scanf("%d%d",&a,&b);
pa=&a;
/*指針pa指向整數a*/
pb=&b;
/*指針pb指向整數b*/
printf("a=%d,b=%d\n",a,b);
swap(pa,pb);
/*調用函數swap,實參為指針*/
printf("a=%d,b=%d\n",a,b); }
void swap(int *p1,int *p2)
{
int t;
t=*p1;*p1=*p2;*p2=t;
}錯誤的地方還真不少。。。。

『玖』 如何用C語言定義一個單片機的引腳為按鍵

這是一個按鍵子函數:
sbit k1=P2^1; //在主函數前面要聲明的部分

void keyscan() //按鍵識別子函數,P2.1腳
{
int a=1;
while(a)
{
if(k1==0) //循環檢測按鍵動作
{
delay1(15); //延時消抖
if(k1==0)
while(!k1) //等待按鍵釋放
a=0; //跳出子函數
}
}
}

void delay1(int h) //延時子函數
{
int i,j;
for(i=h;i>0;i--)
for(j=110;j>0;j--);
}

哥們,回答的夠詳細了吧!記得加分咯