討論區快速選單
知識庫快速選單
討論區最近新進100則主題 開發App該選哪個平台?
[ 回上頁 ] [ 討論區發言規則 ]
請問 Keil C 可以將腳位當作函數的參數嗎?
更改我的閱讀文章字型大小
作者 : cromayen2000(CROMAYEN2000) OpenGL卓越專家貼文超過500則人氣指數超過10000點
[ 貼文 645 | 人氣 22308 | 評價 2260 | 評價/貼文 3.5 | 送出評價 38 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/10/12 下午 11:21:38
因為在寫一個 SPI 傳輸的函數 有兩個一樣的元件~ 呼叫函數的 差別就一個腳位
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4463 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人cromayen2000註記此篇回應為最佳解答 2016/10/13 上午 09:51:34
http://www.keil.com/forum/59571/

seeing this article for reference
作者 : cromayen2000(CROMAYEN2000) OpenGL卓越專家貼文超過500則人氣指數超過10000點
[ 貼文 645 | 人氣 22308 | 評價 2260 | 評價/貼文 3.5 | 送出評價 38 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/10/13 下午 01:17:19
了解 看來直接是不行的~ 我寫成一個函數指標傳遞進去好了~
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4463 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/10/14 下午 02:40:39
a very basic concept for reference as below
Watching the path of directory - C:\Keil\C51\INC and find a header file named regx51.h
the full file's contents , please visit the following URL - http://www.keil.com/dd/docs/c51/atmel/regx51.h

PX_X means 8051's special function registers . So such likes PX_X format , they have been declared as some specific destinations . So you(programmers) can't modify or re-declare them. They are keil C compiler's implementations.
作者 : cromayen2000(CROMAYEN2000) OpenGL卓越專家貼文超過500則人氣指數超過10000點
[ 貼文 645 | 人氣 22308 | 評價 2260 | 評價/貼文 3.5 | 送出評價 38 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/10/21 下午 05:18:09
恩恩 我改成這樣了把方法分享給大家好了

當初提出這個問題的工程師後來它們的解法是用 if 或是 switch 去切換,不是很友善要改除錯也很麻煩,換腳位要一個個改寫

考慮這些因素我宣告一個函數的指標型態 要求必須輸入值

/// 定義致能腳位函數的樣式為 void (*)(char);
typedef void (* MLX_EanblePinFunc) (unsigned char);

// 把 一個函數指標當作一個參數丟進去
unsigned int readAngleForMLX90316BDG (MLX_EanblePinFunc SS);


// 然後把 指定腳位的設定寫成一個函數
void setMLX1(unsigned char singal){
SPI_SS1 = singal;
}

void setMLX2(unsigned char singal){
SPI_SS2 = singal;
}

////////////////////////////////////////
到時候要使用哪一個就把哪一個函數的指標丟進去
 板主 : yuan
 > 嵌入式系統(Embedded System) - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 嵌入式系統(Embedded System) - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
嵌入式系統(Embedded System)
1 kting 770 
2 Lingb 400 
3 sazabi 400 
4 Huah 390 
5 hawkeye 380 
6 H 360 
7 yuan 350 
8 Kenny 310 
9 ozzy 290 
10 富伯 280 
嵌入式系統(Embedded System)
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875