Re: ICD3的購買?
|
||||
---|---|---|---|---|
初級會員
|
版主謝謝你~
這次連結有看到了!! 非常感謝~
發表於: 2008/12/17 16:57
|
|||
|
Re: 是否有軟體~可以選購我想要的MCU~
|
||||
---|---|---|---|---|
初級會員
|
版主謝謝你~
正是這個軟體~ 非常謝謝~
發表於: 2008/12/17 16:56
|
|||
|
Re: ICD3的購買?
|
||||
---|---|---|---|---|
初級會員
|
感謝版主提供的訊息及連結~
不過我找不到ICD3 我在版主你提供的網址內。搜索ICD3 或 MPLAB 或 MICROCHIP。 都找不到 =.=..
發表於: 2008/12/17 16:01
|
|||
|
ICD3的購買?
|
||||
---|---|---|---|---|
初級會員
|
前一陣子在討論區上有看到要出新ICD3。
可是在 特價工具訂購辦法 教育單位折價券申請單 都沒看到可以買這套。 不知道是否還未出?還是此產品無法特價購買?
發表於: 2008/12/17 15:44
|
|||
|
是否有軟體~可以選購我想要的MCU~
|
||||
---|---|---|---|---|
初級會員
|
MicroChip的MCU很多種,有時要慢慢找才能找到符合需求的MCU。
不知道是否有軟體,可以幫我選擇我想要的特定功能。(如ROM的大小為選擇 或是 腳位的數量為選擇 等等..) 當然如果有可以顯示公定價錢更好~~ 找了網站上找很久,都找不到有這個軟體檔案。
發表於: 2008/12/17 15:41
|
|||
|
大問題請求幫助(USART傳到一半會不定時當住)
|
||||
---|---|---|---|---|
初級會員
|
程式如下所示,如果把 void Init_TMR0(void); 這功能關起,量TX腳就正常一直傳送。
如果把void Init_TMR0(void);打開,量TX腳位會不定時傳到一半就不傳了。 研究了很久,一直都會這樣。 (可是偏偏又需要void Init_TMR0(void);的功能) 請求高手幫助,感謝萬分。 ------------------------------------------------------------------------------- #include <p18f2321.h> #include <delays.h> #include <usart.h> #include <adc.h> #include <timers.h> #pragma config OSC=HS, BOR=OFF, BORV=2, PWRT=ON, WDT=OFF, LVP=OFF #define count_val 55690 unsigned int time_cnt; void Init_TMR0(void); void timer0_isr (void); void Init_USART(void); void Init_MCU(void); #pragma code high_vector=0x08 void high_interrupt (void) { _asm GOTO timer0_isr _endasm } #pragma code #pragma interrupt timer0_isr void timer0_isr (void) { INTCONbits.TMR0IF=0; WriteTimer0(count_val); if(time_cnt>0) time_cnt--; } void main (void) { Delay10TCYx(200); Init_MCU(); Init_USART(); Init_TMR0(); WriteUSART(0x00); while(BusyUSART()); WriteUSART(0x00); while(BusyUSART()); while (1) { WriteUSART(0xAA); while(BusyUSART()); time_cnt=5; while(time_cnt); }//while } void Init_MCU(void) { ADCON0=0x05; //CH1:05 CH0:01 ADCON1=0x0D; //A:AN0、AN1 ADCON2=0x3A; TRISA=0xFF; TRISB=0xFF; TRISC=0XB9; PORTA=0xFF; PORTB=0xFF; PORTC=0xF9; } void Init_USART(void) { OpenUSART( USART_TX_INT_OFF & //USART_RX_INT_ON & USART_ASYNCH_MODE & USART_EIGHT_BIT & //USART_CONT_RX & USART_BRGH_HIGH, 12 ); PIR1bits.RCIF=0; } void Init_TMR0 (void) { OpenTimer0( TIMER_INT_ON & T0_16BIT & T0_SOURCE_INT & T0_EDGE_RISE & T0_PS_1_1 ); WriteTimer0(count_val); INTCONbits.TMR0IF=0; INTCON2bits.TMR0IP=1; RCONbits.IPEN=1; INTCONbits.GIEL=1; INTCONbits.GIEH=1; //INTCONbits.PEIE = 1; //INTCONbits.GIE = 1; }
發表於: 2008/10/31 10:47
|
|||
|
Re: 這次是軟體UART問題請教
|
||||
---|---|---|---|---|
初級會員
|
已抓取成功,程式寫法最下面所示:
使用:4MHz,Baud:2400。 只是對於下列公式有疑問 因為如果使用4MHz,Baud:2400,DelayTXBitUART 計算出需要delay 405.16 Cycle才是2400 Baud。 可是程式的i卻得設定為24 (看程式應該是i=1是一個cycle吧???) 還請高手解惑 謝謝 (另外什麼是DelayRXHalfBitUART和DelayRXBitUART的意思) --------------------------------------------------------- DelayTXBitUART Delay for: ((((2*Fosc) / (4*baud)) + 1) / 2) - 12 cycles DelayRXHalfBitUART Delay for: ((((2*Fosc) / (8*baud)) + 1) / 2) - 9 cycles DelayRXBitUART Delay for: ((((2*Fosc) / (4*baud)) + 1) / 2) - 14 cycles -------------------------------------------------------------- 程式 #define Nop() {_asm nop _endasm} int i; void DelayRXHalfBitUART(void) { for(i=0;i<15;i++) Nop(); } void DelayRXBitUART(void) { for(i=0;i<4;i++) Nop(); } void DelayTXBitUART(void) { for(i=0;i<24;i++) Nop(); } void main ( void ) { char data; //configure software UART OpenUART(); while( 1 ) { WriteUART (0x55); //bounce it back } }
發表於: 2008/10/24 17:20
|
|||
|
Re: PIC18F452 要如何同時接收2組AD訊號ㄋ~~! 請高手幫忙~感恩
|
||||
---|---|---|---|---|
初級會員
|
參照:
我也是初學者~ 但看datasheet感覺~再同一時間AD的判別只能有一組 如果AD0和AD1..先判別AD0再切換channel判別AD1
發表於: 2008/10/24 9:57
|
|||
|
Re: 這次是軟體UART問題請教
|
||||
---|---|---|---|---|
初級會員
|
目前compile成功了,參考之前文章,少設了一些設定期
只是我用4MHZ,鮑率設2400 可是這樣寫,卻抓不到值。都只是抓0x00 我算出來是405.16cycle.... ----------------------------------------------------------------- #define Nop() {_asm nop _endasm} int i; void DelayRXHalfBitUART(void) { for(i=0;i<405;i++) Nop(); } void DelayRXBitUART(void) { for(i=0;i<405;i++) Nop(); } void DelayTXBitUART(void) { for(i=0;i<0x195;i++) Nop(); } void main ( void ) { char data; // configure software UART OpenUART(); while( 1 ) { //data = ReadUART(); //read a byte WriteUART (0x66); //bounce it back } ---------------------------------------------------
發表於: 2008/10/23 17:35
|
|||
|