久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2949|回復: 11
打印 上一主題 下一主題
收起左側

單片機C語言程序函數定義的疑問 請教論壇師傅們

[復制鏈接]
跳轉到指定樓層
樓主
通定義函數為:
void teset(void)//沒有返回值  沒有參數型函數
{

}

unsigned caar Teset(unsigned char Num,)//帶返回值  和帶參數型函數
{

}

今天在做實驗時突發奇想定義了一個函數:
bit Teset(此括號里面為什么不能定義unsigned cahr 變量呢???)
{
bit teset;


retuan teset;
}

而是必須為如下:
bit Teset(unsigned char *Pointerb必須用以指針類型變量來進行參數傳遞呢????不是疑問)
{
bit flag;


retuan flag;

}
下面為調用時用為:
void Teset2()
{
bit flag;

flag=Teset(&Pointerb這里必須要&上才可以正常吧之值取出來????這是什么原理?????求師傅解答,)
if(flag==1)
{
....................................省略
}
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:94657 發表于 2021-8-24 21:42 | 只看該作者
問題發現的不對。誰說參數不能是unsigned char?誰說一定要用*Pointerb?C語言函數的參數可以有很多種類型,只不過你遇到的例子是用指針做參數罷了。隨便挑一個函數:
void Dac1_Set_Vol(u16 vol)
{
        u16 temp;       
        if(vol>4999) vol=4999;
        temp=vol*4096.0/5000;
        DAC_SetChannel1Data(DAC_Align_12b_R,temp);
}
這是用STM32的DA產生電壓進行輸出的例子,u16就不是*Pointerb

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:232366 發表于 2021-8-25 02:08 | 只看該作者
anchor8583 發表于 2021-8-24 21:42
問題發現的不對。誰說參數不能是unsigned char?誰說一定要用*Pointerb?C語言函數的參數可以有很多種類型, ...

感謝您的耐心回復!是這樣的請看倒數第一二個函數定義時使用的是bit型函數其返回值為bit型!!!!而在此函數圓括號中(使用整形變量來傳遞參數時形參傳遞參數時會發生錯誤而使用指針變量時就不會)
回復

使用道具 舉報

地板
ID:711539 發表于 2021-8-25 09:11 | 只看該作者
想必閣下用的是51單片機吧,我用51內核的單片機寫了如下代碼,編譯通過,運行正常。供君參考。

1.png (40.39 KB, 下載次數: 98)

1.png
回復

使用道具 舉報

5#
ID:232366 發表于 2021-8-25 10:09 | 只看該作者
菜鳥yc 發表于 2021-8-25 09:11
想必閣下用的是51單片機吧,我用51內核的單片機寫了如下代碼,編譯通過,運行正常。供君參考。

感謝回復  是的使用的是51c語言  感謝您的解答回去好好研究一下!冒昧問一下您的這個背景可以共享不!挺好看的!
回復

使用道具 舉報

6#
ID:711539 發表于 2021-8-25 11:48 | 只看該作者
SHANWAZI 發表于 2021-8-25 10:09
感謝回復  是的使用的是51c語言  感謝您的解答回去好好研究一下!冒昧問一下您的這個背景可以共享不!挺 ...

你可以做如下修改測試一下。函數原型:
  1. bit Teset(unsigned cahr val)
  2. {
  3.     bit teset;


  4.     return teset;
  5. }
復制代碼

調用程序為:
  1. void Teset2()
  2. {
  3.     if(Teset(看自己需要填個實參))
  4.     {
  5.         ....................................省略
  6.     }
  7. }
復制代碼

回復

使用道具 舉報

7#
ID:711539 發表于 2021-8-25 11:53 | 只看該作者
SHANWAZI 發表于 2021-8-25 10:09
感謝回復  是的使用的是51c語言  感謝您的解答回去好好研究一下!冒昧問一下您的這個背景可以共享不!挺 ...

本站也有類似的背景色設置,http://www.zg4o1577.cn/bbs/dpj-188186-1.html
CSDN等都有的,你可以網上搜索下,自己“替換”一下
我的是根據自己的喜好自己在軟件“設置”的,如果你需要的話,我可以給你分享我的“設置”截圖
回復

使用道具 舉報

8#
ID:232366 發表于 2021-8-25 20:09 | 只看該作者
菜鳥yc 發表于 2021-8-25 11:48
你可以做如下修改測試一下。函數原型:

調用程序為:

非常感謝  您上述中我已經做實驗函數原型括號內帶字節型參數在進行傳遞數據時就會出錯我是這樣的如下:

bit Teset(unsigned char Value/*字節形參*/)
{
bit TesetFlag;

//對Value進行處理省略。。。。。。。。。。。
//處理完畢標志位置位
TesetFlag=1;

return TesetFlag;//返回標志位
}

//以下為主函數調用上面函數時的如下:
void main()
{
bit TesetFlag111;
unsigned char  Value111=100;

while(1)
{
TesetFlag111=Teset(unsigned char Value111/*字節實參*/);
if(TesetFlag111==1)
{
//處理別的省略
}
}
}

1:問題就是在這里實參給形參傳遞參數時實參的實際值沒有完全傳遞給形參 而發生了改變這是我一直困惑的
2:使用字節型函數如:
unsigned char Teset(unsigned char Value)
{

}
進行參數進行傳遞就形參與實參參數傳遞時不會發生改變!!!!!!!!!!
回復

使用道具 舉報

9#
ID:161164 發表于 2021-8-25 21:30 | 只看該作者
SHANWAZI 發表于 2021-8-25 20:09
非常感謝  您上述中我已經做實驗函數原型括號內帶字節型參數在進行傳遞數據時就會出錯我是這樣的如下:
...

用的時候是這樣寫的! 老弟!  !  !  !  !  !  !  !  !  !  !  !  !
TesetFlag111=Teset(Value111/*字節實參*/);
回復

使用道具 舉報

10#
ID:232366 發表于 2021-8-25 23:35 來自觸屏版 | 只看該作者
lkc8210 發表于 2021-8-25 21:30
用的時候是這樣寫的! 老弟!  !  !  !  !  !  !  !  !  !  !  !  !
TesetFlag111=Teset(V ...

不好意思  手機打字不太方便打錯了
回復

使用道具 舉報

11#
ID:624769 發表于 2021-8-28 18:26 | 只看該作者
看你發的代碼,里面錯誤好多,就講講關鍵的吧。
首先:
bit test_bit_return(unsigned char dat)
{
      bit   testbit;

}
回復

使用道具 舉報

12#
ID:624769 發表于 2021-8-28 18:35 | 只看該作者
看了你發的內容,實在是……,覺得還是用具體的代碼跟你講吧。
首先,聲明位變量。
bit        testflag1,testflag2;

再定義返回位的子函數,
bit        test_bit_return(unsigned char dat)
{
        bit flag;
        if(dat == 0x00)        flag = 1;
        else        flag = 0;
        return        flag;
}
最后在main函數中用以下調用。
testflag1 = test_bit_return(0x00);
testflag2 = test_bit_return(0x12);

你可以得到 testflag1 = 1  , testflag2 = 0,  
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色国产视频 | 成人免费日韩 | 九九伦理电影 | 国产亚洲精品久久午夜玫瑰园 | 欧美日韩电影一区二区 | 日韩精品成人网 | 免费人成激情视频在线观看冫 | 91视频.com| 特黄毛片 | 日韩欧美不卡 | 亚洲区一 | 成人av高清| 中文字幕日韩一区二区 | 欧美在线一区二区三区 | 久久久精彩视频 | 午夜小电影 | 国产69精品久久99不卡免费版 | 亚洲欧美国产精品久久 | 99精品免费在线观看 | 高清一区二区 | 伊人成人免费视频 | 久久久精品天堂 | 99久热在线精品视频观看 | 亚洲一级毛片 | 午夜成人免费视频 | 欧美高清性xxxxhdvideosex | av电影手机版 | 成人网av | 日日天天 | 国产一级片一区二区三区 | 黄网免费| 5060网一级毛片 | 欧美精品一区久久 | 亚洲第一成年免费网站 | 国产精品国产三级国产aⅴ原创 | 天天艹日日干 | 国产激情一区二区三区 | aⅴ色国产 欧美 | 精品国产女人 | 中文字幕 国产 | 亚洲国产精品人人爽夜夜爽 |