• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: 請教 --> 關於 SPI EEPROM 如何存取使用 by CCS
#10
高級會員
高級會員


查看用戶資訊
圖檔送上~
有問題的應該是在 EEPROM 的 SDO 送往 PIC 的 SDI(RC4)
PIC 的 SDO 送給 EEPROM 的 SDI 波形是正確的 ~
但是
讀出來好像不行讀 ~~ 波形很奇怪 !!
我圖片都有中文說明

Attach file:


Link only for registered users

發表於: 2009/1/14 12:11
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教 --> 關於 SPI EEPROM 如何存取使用 by CCS
#9
版主
版主


查看用戶資訊
貼圖要壓成 ZIP 檔或使用 JPG 圖檔格式,在瀏覽處找到檔名後就可以送出了。

Attach file:



jpg  (0.00 KB)


發表於: 2009/1/14 11:54
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教 --> 關於 SPI EEPROM 如何存取使用 by CCS
#8
高級會員
高級會員


查看用戶資訊
請問這邊能貼圖嘛 ?
其實我已經在用示波器來看了,我想貼上來給大家看一下

發表於: 2009/1/14 11:48
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教 --> 關於 SPI EEPROM 如何存取使用 by CCS
#7
版主
版主


查看用戶資訊
CCS 沒用過,我還是建議一下不要用看程式的的方式除錯,應該找台示波器配合軟體來除錯的,這樣才可以依據 SPI Timming 來找出程式的問題。

發表於: 2009/1/14 11:27
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教 --> 關於 SPI EEPROM 如何存取使用 by CCS
#6
高級會員
高級會員


查看用戶資訊
目前程式是改成這樣...
APP001實驗板上 DIP 開關是把相關腳位給 ON 而已
用終端機看印出狀態是空空沒有東西
用示波器看CS腳是有明顯 LH動作
但是在 LH這中間 CLK 腳只有突波...沒有明顯的"數據CLK"
還是無法動作....冏
------------------------------------------------------------------
output_low(pin_a5); //CS給LOW
{
SPI_write(0x06); //寫入致能
SPI_write(0x02); //發送操作碼
spi_write(0x00); //送high_address
spi_write(0x10); //送low_address
spi_write(0x65); //送出數據 A
output_high(pin_a5); //CS給HIGH
}

output_low(pin_a5); //CS給LOW
{
SPI_write(0x03);
spi_write(0x00); //送high_address
spi_write(0x10); //送low_address
SPI_Msg = spi_read();
output_high(pin_a5); //CS給HIGH
}

printf("%c",SPI_Msg);
delay_ms(200);

發表於: 2009/1/13 11:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教 --> 關於 SPI EEPROM 如何存取使用 by CCS
#5
高級會員
高級會員


查看用戶資訊
我看了一下 datasheet 的波形圖
寫的部份 :
0x02 //是寫入操作碼
0x00 //給high_address
0x10 //給low_address
data //接著寫入資料
SO ~~ 我這樣寫 :
spi_write(0x02);
spi_write(0x00);
spi_write(0x10);
spi_write(0xA5);
--------------------------------------------------
讀取的部份 :
spi_write(0x03);
spi_write(0x00);
spi_write(0x10);
Val = spi_read();
--------------------------------------------------
printf("%c",Val); // 沒有東西出來 Orz

發表於: 2009/1/12 17:07
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教 --> 關於 SPI EEPROM 如何存取使用 by CCS
#4
高級會員
高級會員


查看用戶資訊
嗯 ~ 請教一下 address 要怎麼給呀 ?

spi_write(HIGH_address); //可否解釋一下這個
spi_write(low_address); //可否解釋一下這個

---------------------------------------------------
PIC 寫到 eeprom
spi_write(0x02); //這是寫的時候先下 0x02嘛 ?
spi_write(data); //接著寫入資料
---------------------------------------------------
PIC 讀取 eeprom
spi_write(0x03); //這是寫的時候先下 0x03嘛 ?
var = spi_read(); //接著從 eeprom 讀取資料 ?
---------------------------------------------------
是這樣的嘛 ? 不是很懂怎麼用 @_@

發表於: 2009/1/12 16:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教 --> 關於 SPI EEPROM 如何存取使用 by CCS
#3
資深會員
資深會員


查看用戶資訊
參照:

sindyvirgo 寫道:
試了一個多禮拜 ~ 我4620的SPI還是無法正常工作 ...
目前狀態是
我以 PIC 做 MASTER,由 PIC 來提供 SCK 的 CLK 給
外部的 EEPROM (25LC160A),如此我不用去管 CS 腳 !

那麼 ~

spi_write('A'); <--- 對CCS而言這應該就會自動寫一個 A
給 EEPROM 吧 ? 我用示波器看 CLK 連坑都不吭一聲的 0.0

目前片段 code 如下

#int_SSP
void SSP_isr(void)
{
spi_write('a'); //寫一個a過去
delay_ms(1);

SPI_Msg = spi_read(); // 讀回來放在Temp
delay_ms(1);

printf("%c",SPI_Temp); 印出來
}
}
//----------------------------------------------------
void main()
{
enable_interrupts (INT_SSP);
setup_spi(spi_master |spi_l_to_h | spi_clk_div_4 );

for(;;){
SSP_isr();

}


}

希望高手能指導一下...快冏爆了 Orz ...


CCS中有範例可看,而且你這是中斷式的吧,先用單一程式去跑看看。

而且 你有給address嗎

沒看到你程式給address耶

請參考http://ww1.microchip.com/downloads/en/DeviceDoc/21807b.pdf

中的第二章節來對應波形動作圖

Read的話要先下
SPI_write(0x03);
spi_write(HIGH_address);
spi_write(low_address);
var = spi_read();

Wirte
SPI_write(0x02);
spi_write(HIGH_address);
spi_write(low_address);
spi_write(data);

就用這跑看看吧

發表於: 2009/1/12 15:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教 --> 關於 SPI EEPROM 如何存取使用 by CCS
#2
高級會員
高級會員


查看用戶資訊
試了一個多禮拜 ~ 我4620的SPI還是無法正常工作 ...
目前狀態是
我以 PIC 做 MASTER,由 PIC 來提供 SCK 的 CLK 給
外部的 EEPROM (25LC160A),如此我不用去管 CS 腳 !

那麼 ~

spi_write('A'); <--- 對CCS而言這應該就會自動寫一個 A
給 EEPROM 吧 ? 我用示波器看 CLK 連坑都不吭一聲的 0.0

目前片段 code 如下

#int_SSP
void SSP_isr(void)
{
spi_write('a'); //寫一個a過去
delay_ms(1);

SPI_Msg = spi_read(); // 讀回來放在Temp
delay_ms(1);

printf("%c",SPI_Temp); 印出來
}
}
//----------------------------------------------------
void main()
{
enable_interrupts (INT_SSP);
setup_spi(spi_master |spi_l_to_h | spi_clk_div_4 );

for(;;){
SSP_isr();

}


}

希望高手能指導一下...快冏爆了 Orz ...

發表於: 2009/1/12 10:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請教 --> 關於 SPI EEPROM 如何存取使用 by CCS
#1
高級會員
高級會員


查看用戶資訊
開發板 --> APP001 REV2.0
(看板子說明書已將 J9 都用 jump 連接,J10 斷開,如此是使用 25LC160A這顆 EEPROM)

如果沒錯的話腳位應該是(指開發板上)

RC3 --> SCK --> colck
RC4 --> SDI --> input
RC5 --> SDO --> output

1. 我看了CCS裡附帶的 index 範例
2. 參考了C18的函數範例
3. 25LC160A的PDF也看過了

試著想要存取看看外部 EEPROM 只是試不出來 ~"~
希望板上有能者可以給予指導一下 ~

我是設定了如下的 code

#int_SSP
void SSP_isr(void)
{
spi_write('A'); //寫一個A過去
SPI_Temp = spi_read(0); // 讀回來
{
printf("%c",SPI_Temp); 印出來
}
}
//----------------------------------------------------
void main()
{
enable_interrupts (INT_SSP);
setup_spi(spi_master |spi_l_to_h | spi_clk_div_4 );
setup_spi(FALSE);
}

我是用終端機看的,測試的設備不多,還是説開發過程中可以用哪些技巧來檢測也希望大大能指導一下,目前都只能用終端機在看對不對 ~ 有圖有真相嘛

最後請有玩過的大仔能幫個忙...讓它動起來了

發表於: 2008/12/25 15:25

Edited by sindyvirgo on 2008年12月25日 15:41:34
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------