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

論壇索引


Board index » All Posts




Re: eeprom在timer中斷後做寫入、讀取
中級會員
中級會員


#pragma code isrhighcode = 0x0008
void isr_high_direct(void)
{
_asm //begin in-line assembly
goto isr_high //go to isr_high function
_endasm //end in-line assembly
}
#pragma code
//-----------------------------------------------------------------
#pragma interrupt isr_high
void isr_high(void)
{
if(PIR1bits.TMR2IF)
{
RCint();
PIR1bits.TMR2IF = 0 ; //Clear Timer2 interrupt Flag
}
}
#pragma code
//--------------------------------------------------------
void RCint()
{
CC++ ;
counter++ ;
if(counter/45==1) // 約3秒
{
ConvertADC(); // Convert A/D
while(BusyADC( )); // Waiting A/D until done
result = ReadADC();

PORTB=ADRESH; // Put A/D result on LEDs
count += 1;
rec[count] = result;
counter = 0 ;
}

if(CC/135==1)
{
EE_Page_Write(0xA0,0x00,0x01,10,wrptr);
EEPROM_ACK(0xA0);
EE_SEQU_Read(0xA0,0x00,0x01,10,rdptr);
CC = 0;
}
}

ps. wrptr是指標,指向rec陣列
rdptr是指向另一要讀取eeprom的陣列

//-------------------------------------------------------
void EE_Page_Write(unsigned char ctrl,unsigned char addr_h,unsigned char addr_l,unsigned char length,unsigned char *dptr)
{
IdleI2C();
StartI2C(); I2C_Done();

WriteI2C(ctrl); while(SSPCON2bits.ACKSTAT); I2C_Done();
WriteI2C(addr_h); while(SSPCON2bits.ACKSTAT); I2C_Done();

WriteI2C(addr_l);
while(SSPCON2bits.ACKSTAT);
I2C_Done();

while (length!=0) {
WriteI2C(*dptr); while(SSPCON2bits.ACKSTAT);
I2C_Done();
dptr++;
length--;
}
StopI2C(); I2C_Done();
}
//-----------------------------------------------------------
void I2C_Done(void)
{
while (!PIR1bits.SSPIF);
PIR1bits.SSPIF=0;
}
*************************************
主要在RCint這個中斷副程式上

程式流程是每兩秒我會做adc讀取,三次後我需把資料存入

eeprom,但程式就是停在EE_Page_Write上,在Write的副程

式裡停在I2C_Done(),Done的副程式停在while的判別式,

之前是單純在while(1)下跑,陣列都先預設好資料,可以存也

可以讀,I2C_Done那也沒問題,但移到timer的中斷副程式下

就完全動不了,很令人疑惑~~

對了,還有eeprom是外接的256k的eeprom

情況大致如此,謝謝各位

發表於: 2004/11/30 10:58
頂部


Re: MICROCHIP重視ANALOG嗎
中級會員
中級會員


應該這麼說才對
Microchip have over 300 analog devices in six categories
1. Thermal Management,2. Power Management,3. Linear
4. Mixed Signal,5. Interface
這麼多的產品你會選用的有那些?用過的有那些?與其它同規格性能的價格比較?
不錯了,難得有一家廠商可以提供這樣豐富的產品,供大家選擇

發表於: 2004/11/30 9:20
頂部


Re: eeprom在timer中斷後做寫入、讀取
中級會員
中級會員


你寫入的eeprom是內部或外接的?
list 你的 write出來讓大家幫你抓bug吧!

發表於: 2004/11/30 9:08
頂部


Re: ICD 2000
新會員
新會員


不好意思,是 ICE 2000 ...

發表於: 2004/11/30 8:46
頂部


eeprom在timer中斷後做寫入、讀取
中級會員
中級會員


各位先進您好

情況大概是我的pic在timer固定時間中斷後,做adc讀取

,之後放入陣列,同時我需寫入eeprom,但中斷點就停在

Write的函式,沒辦法往下跑。

之後我把adc部份拿掉,陣列直接設值,就在timer中斷後

直接寫入eeprom,情況也是一樣,沒法寫入,更別提之後要做

讀取動作。

不知各位有無遇此類情形,感謝您的指點迷津~~~

發表於: 2004/11/29 20:40
頂部


Re: ICD 2000
資深會員
資深會員


這位大人,應該是ICD2吧..還是ICE2000...

發表於: 2004/11/29 19:23
頂部


Re: MICROCHIP重視ANALOG嗎
初級會員
初級會員


我沒記錯的話......好像聽說過Microchip是做Analog起家的哦!

發表於: 2004/11/29 18:57
頂部


ICD 2000
新會員
新會員


請問~~
晶片用PIC16F628
我設定RA4是OUT,輸出為Hi,但為何程式執行時,就是不會輸出Hi

我是用ICE 2000去模擬
MPLAB IDE 6.6V

CONFIG 設定如下
Oscillator : INTRC I/O
WDT : ON
Power up Time : OFF
Brown out Detect : ENABLE
Master clear Enable : Disable
Data EE Read Protect : Disable
Code Protect : OFF

程式內部設定
BCF STATUS,RP0
BCF STATUS,RP1
MOVLW 00100000b
MOVWF PORTA
BSF STATUS,RP0
MOVWF TRISA

BSF STATUS,RP0
MOVLW 00001101B
MOVWF OPTION_REG

請各位高手是否可幫忙一下,都快瘋了-.-

發表於: 2004/11/29 16:08
頂部


Re: 哪裡有QFN 28 pin 6* 6mm的腳座
資深會員
資深會員


這個應該是要自己去想辦法吧
去電子材料行看看有沒有轉接板
沒有的話就自己洗
不然問問代理商有沒有板子

發表於: 2004/11/29 15:15
頂部


Re: 哪裡有QFN 28 pin 6* 6mm的腳座
資深會員
資深會員


應該是...只能洗電路板出來,然後,再焊上去吧...

發表於: 2004/11/29 14:41
頂部



« 1 ... 7328 7329 7330 (7331) 7332 7333 7334 ... 7522 »



:::

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

教育訓練中心

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