• slider image 442
  • slider image 477
  • slider image 479
  • slider image 480
  • slider image 481
  • slider image 482
:::

論壇索引


Board index » All Posts




有那位高手知道18f8722 如何定義RAM的實際位址
中級會員
中級會員


如題:
我使用:
#pragma udata gpr1
uchar TEST;

的方式COMPILER都OK,但TEST的位置卻不在bank 1
好奇怪!
若使用(直接指定位址):
#pragma udata LL0=0x100
COMPILER 會出現錯誤。
但之前使用18f452是可以work的…

重安裝c18 V.23及MPLAB V7.20還是無改善…
照理說,在沒有定義RAM的實際位址之下但有定義
各BANK的名字如同18F8722.LKR檔中相互對映時
COMPILER應該會按照這些定義去設定各變數的位址
但…結果卻是COMLIPER自行亂安排…
★☆有那位高手知道18f8722 如何定義RAM的實際位址?

發表於: 2005/11/7 18:27
頂部


Re: ICD2 突然抓不到IC......
新會員
新會員


嗯 已經寄回去給代理商了 不過代步車已經都被借光了 >"<

發表於: 2005/11/7 18:06
頂部


Re: dsPIC30F2010內部data EEPROM如何讀取及寫入
新會員
新會員


henrytan@pmaster.com.cn,急需讀寫 dsPIC EEPROM 的C语言範例程式,非常感谢!!!

發表於: 2005/11/7 17:54
頂部


關於兩pic18f452資料互傳問題
新會員
新會員


各位先進大家好:
個人為初學者目前有一問題無法解決,尚請先進們能幫幫忙,我用兩18f452以rs232互傳資料,不知是否中斷設定有問題,有時正常有時不動作,還請各位能夠給予指點.謝謝!

#include <p18f452.h> //MASTER
#define BaudRate 25
void High_INT_SER(void);
void InitialUSART(void);
void PUTCHAR(char c);
char DATA[3];
char SEND[3]={0x40,0x31,0x2A};
char RI_PTR;
char sw;
//******** INTERRUPT PROGRAM *******
#pragma code High_Interrupt_Vector=0x0008
void High_INT_VEC(void)
{
_asm
goto High_INT_SER
_endasm
}
#pragma code
//**********接收中斷副程式 **************
#pragma interrupt High_INT_SER
void High_INT_SER(void)
{
if(PIR1bits.RCIF==1)
{
DATA[RI_PTR]=RCREG;
RI_PTR++;
if(RI_PTR==2) RI_PTR=0;
}
}
#pragma
//************ MAIN PROGRAM
void main(void)
{
char i;
TRISB=0xff;
TRISD=0x00;
ADCON1=0x06;
InitialUSART();
while(1)
{
if(PORTB!=sw) sw=PORTB;
for(i=0;i<3;i++)
PUTCHAR(SEND[i]);
}
}
//************** InitialUSART *****************
void InitialUSART(void)
{
RCONbits.IPEN=1;
INTCONbits.GIEH=1;
INTCONbits.PEIE=1;
RCSTAbits.SPEN=1;
RCSTAbits.CREN=1;
TXSTAbits.TXEN=1;
TXSTAbits.BRGH=1;
PIE1bits.RCIE=1;
PIR1bits.RCIF=0;
IPR1bits.RCIP=1;
SPBRG=BaudRate;
}
//*********** PUTCHAR 傳遞副程式
void PUTCHAR(char c)
{
TXREG=c;
while(TXSTAbits.TRMT!=1);
}




//***************SLAVE********************
#include <p18f452.h>
#define BaudRate 25
void High_INT_SER(void);
void InitialUSART(void);
void PUTCHAR(char c);
char DATA[3];
char SEND[3]={0x40,0x31,0};
char RI_PTR;
char SEND_FLAG=0;
char sw=0x00,i;
//************* INTERRUPT PROGRAM ****
#pragma code High_Interrupt_Vector=0x0008
void High_INT_VEC(void)
{
_asm
goto High_INT_SER
_endasm
}
#pragma code
//*****************************
#pragma interrupt High_INT_SER
void High_INT_SER(void)
{
if(PIR1bits.RCIF==1)
{
DATA[RI_PTR]=RCREG;
RI_PTR++;
if(RI_PTR==2) RI_PTR=0;
}
}
#pragma
//************ MAIN PROGRAM ******
void main(void)
{

TRISB=0xff;
ADCON1=0x06;
InitialUSART();
while(1)
{
while(PORTB==sw);
sw=PORTB;
SEND[2]=PORTB;
SEND_FLAG=0;
while(SEND_FLAG!=1);
for(i=0;i<3;i++)
PUTCHAR(SEND[i]);
SEND_FLAG=0;
}
}
//************** InitialUSART *****************
void InitialUSART(void)
{
RCONbits.IPEN=1;
INTCONbits.GIEH=1;
RCSTAbits.SPEN=1;
RCSTAbits.CREN=1;
TXSTAbits.TXEN=1;
TXSTAbits.BRGH=1;
PIE1bits.RCIE=1;
PIR1bits.RCIF=0;
IPR1bits.RCIP=1;
SPBRG=BaudRate;
}
//*********** PUTCHAR *********************
void PUTCHAR(char c)
{
if(PIR1bits.TXIF!=0) TXREG=c;
while(TXSTAbits.TRMT!=1);
}

發表於: 2005/11/7 17:54
頂部


Re: How is the check sum calculate?
版主
版主


PIC16F876A 有提供 Program Read 的功能,所以就可以做 Check-Sum 的檢驗,將程式碼以 Byte 方式相加成16-bit 的和,直到最後倒數第二個位址,將總和再取2'S運算後填入最後一個位址,這時所有程式碼的加總就等於零。若程式碼加總後不為零則表示程式 Check-Sum error.

發表於: 2005/11/7 16:36
頂部


Re: [問題]請教關於CCS語法的問題
新會員
新會員


嗯~~了解。
我有試著看過它在PROGRAM MEMORY裡的程式了,的確如此,在宣告的變數時,會把所設定的初值複製到DATA MEMORY(難怪我宣告越大的陣列,PROGRAM MEMORY就會減少...)。
而STRCPY使用的效果也比起自己用MEMCPY()寫CODE處理好多了,程式碼還較短,又能傳字串常數。
看樣子,自己寫的函數真的是無法傳字串常數進去了。

發表於: 2005/11/7 16:34
頂部


Re: ICD2 突然抓不到IC......
版主
版主


找一下 Microchip 或代理商的 FAE 測一下,壞了就送修,至於有沒有提供代步車就要看代理商有無庫存可借用了。

發表於: 2005/11/7 16:24
頂部


Re: 請板大或者有用過APP001的大人幫我ㄧ下
版主
版主


一系列PIC的教育訓練課程順序上下來會有幫助的:

W100 --> W201 --> W401 -->W402

W100 : PIC18初級組語
W210 : 了解週邊
W401 : C18 初階
W402 : C18 進階

發表於: 2005/11/7 16:20
頂部


Re: 燒錄問題...LF跟F系列
版主
版主


2.8V時,用的不是 ICSP 燒錄方式,速度會比較慢。

ICD2 在燒錄是會先偵測Target Vdd, 若在4.5V以上會用標準的 ICSP 模式燒錄,速度較快。如果低於4.5V, ICD2 就會啟動另一種低壓燒錄模式,速度較慢。

發表於: 2005/11/7 16:14
頂部


Re: 該使用哪顆PIC比較好?
版主
版主


做專題無所謂量產問題,先完成再說,IC 可考慮電子材料店就可以買的到的 PIC16F877 或 PIC18F452 , 4X4鍵盤掃描,LCD 及EEPROM 書本有好多範例。 台科大圖書出版的 " 詳細解析PIC18F877原理與應用" (洪正瑞老師著) 就能解決你的專題報告。

發表於: 2005/11/7 16:10
頂部



« 1 ... 6871 6872 6873 (6874) 6875 6876 6877 ... 7520 »



:::

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

教育訓練中心

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