2組UART的CPU如何同時控制?(都沒人回答)
|
||||
---|---|---|---|---|
初級會員
|
難道都沒有人使用過2組UART嗎?
> 2組UART的CPU如何同時控制? > 請問對於有兩組UART的CPU如18F6520...如何同時控制? > 如果用C來寫,有沒有範例程式? > 好像不能直接套用18F452的程式? > 謝謝!! > > rtaur 張貼於: 2006/4/10 14:18 > 新進會員 > > 註冊日: 2005/1/31 > 來自: > 張貼數: 20 Re: 2組UART的CPU如何同時控制? > 如果沒有C的範例, > Assembly的也可以! > 謝謝!
發表於: 2006/4/13 18:38
|
|||
|
Re: 2組UART的CPU如何同時控制?
|
||||
---|---|---|---|---|
初級會員
|
如果沒有C的範例,
Assembly的也可以! 謝謝!
發表於: 2006/4/10 14:18
|
|||
|
2組UART的CPU如何同時控制?
|
||||
---|---|---|---|---|
初級會員
|
請問對於有兩組UART的CPU如18F6520...如何同時控制?
如果用C來寫,有沒有範例程式? 好像不能直接套用18F452的程式? 謝謝!!
發表於: 2006/4/8 18:57
|
|||
|
請問那裡可以下載PIC18F452 FOR PROTEL99SE之schematic library
|
||||
---|---|---|---|---|
初級會員
|
有沒有作好的PIC18F452 FOR PROTEL99SE之schematic library?
(PROTEL網站FOR 99SE的只有找到PIC16) 謝謝!
發表於: 2005/12/16 14:06
|
|||
|
18F6520之XTAL要用多少頻率,才能使UART之BAUD RATE正確,無%ERROR?
|
||||
---|---|---|---|---|
初級會員
|
18F6520依公式:
BRGH = 0 (Low Speed) (Asynchronous) Baud Rate = FOSC/(64(X + 1)) BRGH = 1 (High Speed) Baud Rate = FOSC/(16(X + 1)) 由MANUAL之TABLE 18-3列出的XTAL頻率都有ERROR,無法取得正確的BAUD RATE. 請問我如果要4800 BPS及9600 BPS時,XTAL需用多少MHz,才能使baud rate完全沒有誤差???? 謝謝!!
發表於: 2005/11/24 23:53
|
|||
|
請問workshop W400之範例程式有些不完整?
|
||||
---|---|---|---|---|
初級會員
|
WorkShop W400 EX1.asm ~Ex5.asm程式中有些部份是?????沒有完整.
請問是否有完整的程式可以參考? 謝謝!
發表於: 2005/4/5 20:53
|
|||
|
Re: 為何APP0001板之RS-232收不到資料?
|
||||
---|---|---|---|---|
初級會員
|
有的!在InitializeUSART()這個FUNCTION CALL就有設定了.
這個程式是修改WAP002LAB之ANS4內程式(放在init_MCU.c中),不過已經被我改成4800bps了.不過還是謝謝您! 更希望MicroChip的高手及版主們,可以幫忙解決! 謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝 /************************************************ //* Function: Initialize USART * //* - Initialize the RS-232 communication * //* - Disable Interrupr for TxD * //* - Enable Interrupt fro Rxd * //* - Format: 4800, N, 8, 1 * //************************************************ void InitializeUSART(void) { TRISCbits.TRISC7=1; // Set input for RXD TRISCbits.TRISC6=0; // Set output for TXD RCSTAbits.SPEN=1; // Enable USART Module OpenUSART( USART_TX_INT_OFF // Set TXSTA Reg. =0b00100100 & USART_RX_INT_ON // Set RCSTA Reg. =0b10010000 & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_HIGH ,207); // Set SPBRG=207, Baud Rate = 4800 @16MHz IPR1bits.RCIP=1; // Set Receive of USART are High priority PIE1bits.RCIE=1; // Enable RxD Interrupt } [quote] Herry 寫道: Hello rtaur ... 我也是玩PIC沒有多久... 我想你的程式裡面沒有見到USART的設定的部份...如baud rate,USART_RX_INT_ON等....
發表於: 2005/3/31 10:22
|
|||
|
Re: 為何APP0001板之RS-232收不到資料?
|
||||
---|---|---|---|---|
初級會員
|
有沒想到人知道程式那裡有問題?
謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝!
發表於: 2005/3/30 19:23
|
|||
|
Re: 為何APP0001板之RS-232收不到資料?
|
||||
---|---|---|---|---|
初級會員
|
附上main.h的資料
//* 宣告所使用的含入檔 //*********************************************************** #include <p18f452.h> #include <delays.h> #include <stdlib.h> #include <string.h> #include <timers.h> #include <i2c.h> #include <adc.h> #include <usart.h> //* 函數原型宣告 //*********************************************************** // Declaration file for Main.c related subroutines void LCD_Temp_Update(void) ; void VT_100_Update(void ); void Print_Temperature(int Data); void Print_Byte(unsigned char Byte); void EEPROM_Update(void); void EE_Write (unsigned char, unsigned char); unsigned char EE_Read (unsigned char); void isr_high_direct(void); void isr_high(void); void isr_low_direct(void); void isr_low(void); // Declaration file for Init_MCU.c related subroutines void InitializePORT(void) ; void InitializeTMR1(void) ; void InitializeINTs(void) ; void InitializeAD(void) ; void InitializeUSART(void ); void Initialize_I2C_Master(void); // Declaration file for WAP_LCD.c related subroutines void OpenLCD (void) ; void WriteCmdLCD ( unsigned char ) ; void WriteDataLCD( unsigned char ) ; void putsLCD( char * ) ; void putrsLCD( const rom char * ) ; void putcLCD( unsigned char ) ; void puthexLCD( unsigned char ) ; void LCD_Set_Cursor( unsigned char , unsigned char ) ; void LCD_CMD_W_Timing( void ) ; void LCD_L_Delay( void ) ; void LCD_S_Delay( void ) ; void LCD_DAT_W_Timing ( void ) ; // Declaration file for Read_Temp.c related subroutines unsigned Read_TC74_Temperature(void) ; int Read_TC1047_Temperature( void); // Declaration file for VT100.c related subroutines void VT100_puthex(unsigned char); void VT100_Fill_Screen(unsigned char); void InitializeVT100(void); void VT100_ESC(void); void VT100_Clear_Screen(void); void VT100_Clear_Right (void ); void VT100_Clear_Line (void); void VT100_Cursor_Up (unsigned char Xn); void VT100_Cursor_Down (unsigned char Xn); void VT100_Cursor_Right (unsigned char Yn); void VT100_Cursor_Left (unsigned char Yn); void VT100_Cursor_Position (unsigned char Xn, unsigned char Yn); void VT100_Cursor_Index (void); void VT100_Cursor_R_Index (void); void VT100_Cursor_Home (void); void VT100_Cursor_N_Line (void); // Declaration file for Rec_Cmd.c related subroutines void Rec_Cmd_Check(void); void Modify_T2_Max(void); void Modify_T2_Min(void); void Cooling_Auto(void); void Cooling_Shutdown(void); int Get_3_Digital(void);
發表於: 2005/3/30 15:53
|
|||
|