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

論壇索引


Board index » All Posts (dark)




Re: I2C 玩不出來 請大仔解惑一下 Orz
資深會員
資深會員


在CCS中你可以先試用寫EEPROM來確認i2c功能

下列是CCS檔案中2416.c檔,這是當Master來讀取EEPROM

在/PICC/drivers/中可找到


#ifndef EEPROM_SDA

#define EEPROM_SDA PIN_E0
#define EEPROM_SCL PIN_E1

#endif


#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL)

#define EEPROM_ADDRESS unsigned int16
#define EEPROM_SIZE 1024

void init_ext_eeprom() {
output_float(EEPROM_SCL);
output_float(EEPROM_SDA);
}

int1 ext_eeprom_ready() {
int1 ack;
i2c_start(); // If the write command is acknowledged,
ack = i2c_write(0xa0); // then the device is ready.
i2c_stop();
return !ack;
}

void write_ext_eeprom(EEPROM_ADDRESS address, BYTE data) {
while(!ext_eeprom_ready());
i2c_start();
i2c_write((0xa0|(BYTE)(address>>7))&0xfe);
i2c_write(address);
i2c_write(data);
i2c_stop();
}


BYTE read_ext_eeprom(EEPROM_ADDRESS address) {
BYTE data;

while(!ext_eeprom_ready());
i2c_start();
i2c_write((0xa0|(BYTE)(address>>7))&0xfe);
i2c_write(address);
i2c_start();
i2c_write((0xa0|(BYTE)(address>>7))|1);
data=i2c_read(0);
i2c_stop();
return(data);
}


至於當slave可在

/PICC/Examples/ 中的 EX_SLAVE.C

也有當slave時的範例

發表於: 2009/2/18 16:57
頂部


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


參照:

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
頂部


關於PICDEM.net TM2中的電感值的問題
資深會員
資深會員


因為現在正在使用PICDEM.net TM2來做Ethernet部分的控制,現在要做PCB板的layout,但是我從DataSheet中並無法了解該電感值,我看PIC18F97J60的DataSheet中它只寫了
Ferrite Bead(1,2),請問這個 Ferrite Bead 的值應該是要多少?

發表於: 2008/12/30 18:02
頂部


Re: 請問ICD2在使用USB時會提供電壓給target嗎?
資深會員
資深會員


一般我是外接Power 給target,然後ICD2 上的Vdd與GND跟target的外部電源相連,因為我另一台的ICD2它接上Usb後,跑MPLAB 8.15時Vdd會升高,在self-test會出現High的情況,所以才覺得奇怪,

在請問一下,我在用18F4620的時候,感覺上他的內部振盪不是很準確的感覺,不知道能不能有什麼辦法來穩定他的內部震盪(使用8MHz->PLL->32MHz)。

感謝回答

發表於: 2008/11/27 16:57
頂部


請問ICD2在使用USB時會提供電壓給target嗎?
資深會員
資深會員


請問ICD2在使用USB時會提供電壓給target嗎?

因為我手頭上現在有兩台ICD2 一台可以使用USB時供電給Target,一台不能。

想請問一下,能供電是正常的嗎?

如果不是,請問需要送修嗎?送修需要送到哪邊修?

發表於: 2008/11/27 11:57
頂部



« 1 ... 22 23 24 (25)



:::

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... ]

教育訓練中心

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