Re: Cycle By Cycle 短路保護
|
||||
---|---|---|---|---|
資深會員
|
OUTPUT 串個 MOSFET 由外面 SENSOR 電路將電流切掉
再傳訊號回 PIC , 處理短路狀況 , 會不會比較保險 ?
發表於: 2005/10/28 5:58
|
|||
|
Re: 無刷馬達控制
|
||||
---|---|---|---|---|
新會員
|
老大謝謝你喔...我會努力的...
發表於: 2005/10/28 2:18
|
|||
|
Re: [問題]請教關於CCS語法的問題
|
||||
---|---|---|---|---|
資深會員
|
>> 在兩個傳入值時,可以傳入常數字傳
哪個? >> 是否有其它的可能性來達成 常數字串,在 RISC 架構以及 CCS 的處理方式是存入 Program memory,一種可行的做法是編成常數的矩陣 char msg[3][14] ={ "Hello world! ", "Error code 1 ", "Enter command" }; void main() { int8 n = 2; printf( "%c", msg[ n ]); while(1); } 下面這種寫法 compile 可通過,不過我還沒測試,您玩玩看吧 char format[3][18] = { "x = %lu, str = %c", "y = %lx, str = %c", "z = %LX, str = %c" }; printf ( format [ 1 ], n, msg[ 2 ]); CCS 的 printf() 是非常特別的 printf,與 HiTech 或 C18 的有很大的差異,CCS 的 printf() 並不是函式庫裡的函式,基本上是 compiler 產生的 inline assembly,所以它編出來的 printf 的程式碼非常小。 如果你想要學 printf ( format [ 1 ], n, msg[ 2 ]) 這語法, 寫個 my_function ( format [ 1 ], n, msg[ 2 ]); 傳入字串的起始位址,就是用指標啦,然後,別忘要用 read_program_eeprom() 才能讀出這看起來粉簡單的常數字串喔 CCS 有許多奇怪的特異功能的,呵呵 Have fun!
發表於: 2005/10/27 20:18
|
|||
|
Re: 什麼是stack pointer?!
|
||||
---|---|---|---|---|
資深會員
|
嗯...
基本是在第0層 每呼叫一個副程式就多一層 規格書上說 可以呼叫31個副程式到第31層 我也不知道這算共有31層還是32層 不過知道意思就好
發表於: 2005/10/27 16:42
|
|||
|
Re: 什麼是stack pointer?!
|
||||
---|---|---|---|---|
高級會員
|
PIC18FXX2的堆疊區我看是寫31層...
我也還在找資料...
發表於: 2005/10/27 16:12
|
|||
|
關於無線傳輸
|
||||
---|---|---|---|---|
初級會員
|
各位大大:
最近需要用到無線傳輸..不曉的有沒有相關的電路可以參考啊...如果用pic18f452可以做到此功能嗎?是有看過pic16f639 除了pic16f639還有其他方式嗎?
發表於: 2005/10/27 15:40
|
|||
|
Re: 什麼是stack pointer?!
|
||||
---|---|---|---|---|
資深會員
|
堆疊指標?
是指TOS嗎? PIC18FXX2有32層堆疊,32 = 2^5 所以是5個位元 功能就是指示目前是在哪一層堆疊中 如果有呼叫副程式 就再放一層堆疊(程式計數器位址吧?!)下去 RETURN後就一層一層拿出來 你開MPLAB出來 選好IC後 VIEW的第八項 Hardware Stack 開出來看 寫個簡單的小程式用軟體模擬 (用ICD2除錯模式無法看到硬體堆疊) 多呼叫幾個副程式就可以從那邊看出堆疊指標的功能了
發表於: 2005/10/27 15:28
|
|||
|
Re: [問題]請教關於CCS語法的問題
|
||||
---|---|---|---|---|
新會員
|
To mechwu:
你好,事實上,你說的並沒錯, 只是我很好奇,既然CCS原本所提供的函數,在兩個傳入值時,可以傳入常數字傳,為何我卻不行。 所以,才在想,是否有其它的可能性來達成。
發表於: 2005/10/27 15:22
|
|||
|
什麼是stack pointer?!
|
||||
---|---|---|---|---|
高級會員
|
請問一下...
我在PIC18FXX2 Data Sheet中看到一句話... "The stack operates as a 31-word by 21-bit RAM and a 5-bit stack pointer, with the stack pointer initialized to 00000b after all RESETS." 其中的"stack pointer"我不懂是什麼意思? 它的作用為何? 那為何又是5-bit?! 謝謝~~~
發表於: 2005/10/27 15:08
|
|||
|