Re: 用c寫程式哪一套比較好
|
||||
---|---|---|---|---|
資深會員
|
1. 下載 CCS 試用版 http://www.ccsinfo.com/demo.shtml
2. 找範例 C:\Program Files\PICC\Examples\*.c 就從 LED 開始玩吧 EX_SQW.c C:\Program Files\PICC\Examples\EX_SQW.c 3. 看書 http://www.ccsinfo.com/newtopiccbooks.shtml 4. 買套實驗板 http://www.ccsinfo.com/hardware.shtml#devkits http://www.ccsinfo.com/evalkit877.shtml#16f877 這塊本土實驗板 Microchip General Purpose EVM Board (APP001) 非常好,台幣 1500, http://www.microchip.com.tw/images0/evm-app001.JPG 沒板子的話,就玩模擬器吧,呵呵 5. 買套學生版的合法軟體, 50 美金就好,一堆範例http://www.ccsinfo.com/education.shtml
發表於: 2005/6/21 16:04
|
|||
|
晶片的選用
|
||||
---|---|---|---|---|
資深會員
|
要選合用的晶片,查一下網站或翻一下 Microchip 的 Product Selection Guide 或就知道了。
我個人覺得 Microchip 的網站作的很好,找東西不困難的。 www.microchip.com → 點 Product 項下的 PICmicro® Microcontrollers 如要 64K 以上 Program Memory, 看到有一類是 96K - 128K 請點進去。 點進去後也還可以照各項特性排序。 研討會應該有發紙本的 Product Selection Guide,如果手上沒有或舊了,可在此下載新版: www.microchip.com → 點 Support 項下的 Product Selection Guide 註: dsPIC 也有 >64K program memory 的
發表於: 2005/6/21 15:20
|
|||
|
軟體模擬IIC
|
||||
---|---|---|---|---|
資深會員
|
要寫IIC的MASTER端
不使用內部IIC硬體模組 目前關於偵測附屬端的回應部分沒弄好 不知道如何判斷到底有無收到回應訊號... 請問有沒有範例程式 或是程式虛擬碼或流程圖可供參考? 用軟體模擬的話 自己定義的SCL與SDA接腳還是必須接提昇電阻嗎? 是否除了要偵測回應與接收資料時 SDA需設為輸入端 其他時候都設為輸出端對吧?! 那SCL是否永遠都是設為輸出端?!
發表於: 2005/6/21 15:01
|
|||
|
Re: ROM size
|
||||
---|---|---|---|---|
高級會員
|
找找看
我記得好像18系列有出外接ROM的MCU 可以擴充到2 MBytes
發表於: 2005/6/21 13:31
|
|||
人生最長久的擁有是珍惜 但是大都在失去後才發現
|
||||
|
Re: 請問CCS COMPILER IDE 可以使用ICD2 除錯嗎
|
||||
---|---|---|---|---|
資深會員
|
CCS 在MPLAB裡面編輯並下載至ICD2
==>7.0不能使用 我灌7.11就可以使用了 超讚的 但是我不知道語法 不會書寫?
發表於: 2005/6/21 13:22
|
|||
==== ^^ ^^ ====
|
||||
|
Re: 用c寫程式哪一套比較好
|
||||
---|---|---|---|---|
資深會員
|
我已經灌好CCS了
但是在MPLAB7.0不能執行 之後上CCS討論區查詢 灌MPLAB7.11就可以用了 但是不知道CCS的語法是如何? 以及如何書寫CCS? 請各大俠協助
發表於: 2005/6/21 13:18
|
|||
==== ^^ ^^ ====
|
||||
|
Re: PIC18F 內部EEPROM讀寫函式
|
||||
---|---|---|---|---|
高級會員
|
nicecookie大大
我也不知道咧~~~我之前測試是這樣~~我也知道那三行C等於那五行ASM,還是我再用的時候有去給它定到一些奇怪的東西,當時的我也很納悶,但是因為時間緊迫我就沒去想那些問題咧,哈哈,我道行尚淺,有很多不明白的東西,多多指教啊,等我這個CASE結束在改回來試試看。 當初設不過去用DEBUGER模式看,就設不過去,然後我就在想為什麼板主要用那五行ASM一改過去就可以了,接著看DATA SHEET 它寫EECON2 (not a physical register) 到底什麼原因咧~~
發表於: 2005/6/21 12:00
|
|||
|
Re: PIC18F 內部EEPROM讀寫函式
|
||||
---|---|---|---|---|
資深會員
|
參照:
還是看不懂為什麼那3行C source code 需要改用asm 來寫 我用的是pic16f87x 我都是直接用C寫的, compilier 的結果如下 應該可以看得出來, c compliier後的結果和asm的寫法是一樣的 ================================= ; EECON2=0x55; C 的source code MOVLW .85 MOVWF EECON2 ; EECON2=0xAA; C 的source code MOVLW .170 MOVWF EECON2 ; WR=1; C 的source code BSF 0x18C,WR ================================= 程式確定可以正常寫入讀出.. 還是pic16 和18的程序是否有所差別??
發表於: 2005/6/21 10:54
|
|||
|
Re: PIC18F 內部EEPROM讀寫函式
|
||||
---|---|---|---|---|
高級會員
|
我ㄧ開始設好像也不行
你的這邊這樣好像不能直接改變EECON2 EECON2 = 0x55; EECON2 = 0xaa; 要這樣 _asm MOVLW 0X55 MOVWF EECON2,0 MOVLW 0XAA MOVWF EECON2,0 BSF EECON1,1,0 _endasm ㄧ開始我也是那樣設~~但是涉不過去~~用DEBUGER模式看EECON2好像不會改變,用那5行組語後就寫的過去了 void wrEEPROM(void) { EECON1bits.EEPGD = 0; EECON1bits.CFGS = 0; EECON1bits.WREN = 1; INTCONbits.GIE = 0; _asm MOVLW 0X55 MOVWF EECON2,0 MOVLW 0XAA MOVWF EECON2,0 BSF EECON1,1,0 _endasm INTCONbits.GIE = 1; while (!PIR2bits.EEIF); PIR2bits.EEIF = 0; EECON1bits.WREN = 0; } 我是先把要存的值放到EEDATA 位址放在EEADDR 然後就呼叫這個副程式就可以了你試試看吧 呼叫前的程式 PIR2bits.EEIF = 0; EEADR = i; EEDATA = j; wrEEPROM();
發表於: 2005/6/21 10:18
|
|||
|