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

論壇索引


Board index » All Posts (wdszd)




Re: PIC18F87J90的 EUAST問題??
#21
中級會員
中級會員


出來都沒有 更不用說接收了
你硬體有沒有接錯
pic tx to rx
rx to tx

再看看io port有沒有設錯

發表於: 2009/12/14 16:35
頂部


Re: PIC初學問題
#22
中級會員
中級會員


OpenTimer0( TIMER_INT_ON &
T0_16BIT &
T0_SOURCE_INT &
T0_EDGE_RISE &
T0_PS_1_1 );
WriteTimer0(TMR0_VAL);
INTCON2bits.TMR0IP = 0; //設定為低優先中斷
INTCONbits.TMR0IF = 0;
RCONbits.IPEN = 1; //開啟中斷優先功能
INTCONbits.PEIE = 1; //外設中斷
INTCONbits.GIE = 1; //全域中斷enable

看完你就懂了

發表於: 2009/12/14 13:29
頂部


有關usart的問題18f24j50
#23
中級會員
中級會員


鮑率:38400 ; fcy=12MHz
void high_isr (void)
{
RX_Temp = Read1USART();
if(RX_Temp == '$')
count = 0;
else if(RX_Temp == '!')
count = 0;
else if(Data_buffer[count-2] == '*')
CTRL.Flag.NEW_STR = 1;
Data_buffer[count++] = RX_Temp;

Write1USART(RX_Temp);

PIR1bits.RC1IF = 0;}
while(1)
{ if(CTRL.Flag.NEW_STR)
{ PIE1bits.RC1IE = 0;
if(Data_buffer[0] == '$')
{ if(Data_buffer[1] == 'G')
if(Data_buffer[2] == 'P')
if(Data_buffer[3] == 'G')
if(Data_buffer[4] == 'G')
if(Data_buffer[5] == 'A')
{ for(n=0;n<50;n++)
Data_buffer2[n] = Data_buffer[n];
CTRL.Flag.GPS = 1;}}
else if(Data_buffer[0] == '!')
{ for(n=0;n<50;n++)
Data_buffer1[n] = Data_buffer[n];
CTRL.Flag.AIS = 1;
}
CTRL.Flag.NEW_STR =0;
}
while(CTRL.Flag.GPS && CTRL.Flag.AIS)
{ PIE1bits.RC1IE = 0;
CTRL.Flag.GPS_EN = GPS_frame();
CTRL.Flag.AIS_EN = AIS_frame();
if(CTRL.Flag.AIS & CTRL.Flag.GPS)
{ Distance_diff = Coordi_cmp();
count1++;
if(Distance_diff <= (CTRL.Flag.Limit_EN*5))
{ LIMIT1 = 1;
delay_ms(10000);
}}
for(n=0;n<=75;n++)
Data_buffer1[n] = Data_buffer2[n] = 0;
CTRL.chars = 0;
}
PIE1bits.RC1IE = 1;
}
}
我貼出我目前所寫的程式
我在做2種不同格式的資料從usart輸入
但我上面的程式每做完一筆資料就不再接收資料了
請教各位先進們:
1.我如何讓他處理完資料後繼續接收字串?
2.我看過前的文章有說使用看門狗會使我的程式不再死機嗎?
3.8位元晶片 會因資料傳輸過快而當機嗎?

發表於: 2009/12/14 11:21
頂部


Re: PIC18F87J90的 EUAST問題??
#24
中級會員
中級會員


鮑率? 高低速?
Open1USART(
USART_TX_INT_OFF & // TX傳送完資料不產生中斷
USART_RX_INT_ON & // RC接收完資料產生中斷
USART_ASYNCH_MODE & // 非同步傳輸模式
USART_EIGHT_BIT & // 每次傳輸8bit資料 EIGHT /NINE
USART_CONT_RX & // RX連續接收
USART_BRGH_HIGH , // LOW = 64; HIGH = 16 ; fcy=12MHz
18 ); // sqrg ,BR=38400

發表於: 2009/12/14 11:07
頂部


Re: W401- Answer WAP001-Ans1
#25
中級會員
中級會員


當你直接使用他的專案檔,當然兒是用他的設定,相對得你的實體環境也要跟他一樣。
你有icd2、3 pic kit 接到晶片上? 還有晶片是不是同一顆
你叫出的定義檔有沒有正確 都是問題所在

發表於: 2009/11/19 11:02
頂部


Re: 語法和振盪問題請教
#26
中級會員
中級會員


你要看兩個地方 一個是timer.h(在h資料夾)
另一個是timer的函數資料夾MCC18\src\pmc_common\Timers
timer.h裡定義了字串TIMER_INT_ON
同時也宣告了opentimer1
所以你要把TIMER_INT_ON的值帶進opentimer1去做
就可以知道它設定了哪些暫存器
其他特殊暫存器也是這麼做的

發表於: 2009/11/19 10:29
頂部


Re: 語法和振盪問題請教
#27
中級會員
中級會員


#define TIMER_INT_ON 0b10000000 // Interrupts enabled

timer.h

發表於: 2009/11/17 9:45
頂部


Re: 語法和振盪問題請教
#28
中級會員
中級會員


opentimer1(TIMER_INT_ON;)

通常很多「口語」化的都是用#define 去定義

在文件檔的開頭看看有沒有定義這個字串

或是寫在某個.h的定義檔裡

發表於: 2009/11/16 14:06
頂部


Re: 程式 燒錄問題
#29
中級會員
中級會員


不過其實也不用考盧是不是「占用」記億體

因為你程式在運作時是不會跑超出原有的程式

而erase的動作只不過是把記憶體「寫入」同樣的資料(0xff)

你所要考慮的應該是有沒有超過容量吧

發表於: 2009/11/9 14:52
頂部


有關外接eeprom 的問題
#30
中級會員
中級會員


使用環境:MPLAB V8.36 MCC18 V3.31 ICD3 PIC18F24J50
CONFIG 設定(XMAL=12MHZ)

EEPROM是用MX25L8005

使用spi2 把接腳用pps印射到接腳

OpenSPI2(SPI_FOSC_4 , MODE_00, SMPMID);
OUT_PIN_PPS_RP11 = OUT_FN_PPS_SCK2;
OUT_PIN_PPS_RP12 = OUT_FN_PPS_SDO2;
IN_FN_PPS_SDI2 = IN_PIN_PPS_RP13;
IN_FN_PPS_SCK2IN = IN_PIN_PPS_RP11;

現在已經用示波器讀出SDK、SDO的資料,但回傳的資料都是0X00。
請問還有哪些需要注意的?


以下是我的程式
void EEP_WREN(void)
{ EEP_CS LOW;
WriteSPI2(WREN);
EEP_CS HIGH;
}
void EEP_WRDI(void)
{ EEP_CS LOW;
WriteSPI2(WRDI);
EEP_CS HIGH;
}
void EEP_SE(void)
{ EEP_WREN();
EEP_CS LOW;
WriteSPI2(SE);
WriteSPI2(0x00); //位子0X000000
WriteSPI2(0x00);
WriteSPI2(0x00);
EEP_CS HIGH;
delay_ms(60);

}
unsigned char EEP_READ(void)
{ char worr;
int hunter;
EEP_CS LOW;
WriteSPI2(READ);
WriteSPI2(0x00);
WriteSPI2(0x00);
WriteSPI2(0x00);

worr = ReadSPI2();
EEP_CS HIGH;
return worr;
}

void EEP_WRITE(unsigned char Rog)
{ int a;
EEP_WREN();
EEP_CS LOW;
WriteSPI2(WRITE);
WriteSPI2(0x00);
WriteSPI2(0x00);
WriteSPI2(0x00);

WriteSPI2(Rog);
EEP_CS HIGH;
EEP_WRDI();
}

發表於: 2009/11/9 10:09
頂部



« 1 2 (3) 4 5 6 »



:::

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

教育訓練中心

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