A
aanand_44
Guest
Hi,
Es esmu lietotājam C18 kompilatoru.Tagad es cenšos izmantot USART funkciju projektā.Tagad es varu nosūtīt datu apstrādi uz PC, bet es nevaru saņemt datus no PC uz kontroliera.Šeit man ir pievienots kods.Lūdzu, kāds man palīdzēt.Paldies jau iepriekš.CPU: 18f1320
IDE: MPLAB7.6
kompilators: C18
PIN LIETO: RB4 = RX
RB1 = TX
Anand
kods:
Kods:# Ietvert <p18f1320.h>
# Ietvert <delays.h>
# Ietvert <usart.h>
# Ietvert <stdlib.h># Pragma config OSC = HS / / INTIO2 / / define OSC tips# Pragma config WDT = OFF / / izslēgt Watchdog taimeris# Pragma config PWRT = OFF / / izslēgt Power-up taimeris# Pragma config Bor = OFF / / izslēgt Brown-out Reset# Pragma config MCLRE = ON / / izslēgt MCLRint onesec;char datiem;par spēkā neesošu galvenais (spēkā neesošs)
(onesec = 1000;ADCON1 = 0x00; / / / / izslēgt PORTB / D/ / OSCCON = 0b01110111;
OSCCON = 0b01000100;TRISA = 0;
TRISB = 0x12;TXREG = 0xAA;baudUSART (BAUD_IDLE_CLK_HIGH &
BAUD_8_BIT_RATE &
BAUD_WAKEUP_ON &
BAUD_AUTO_OFF);/ / Open USART konfigurēts kā 8N1, 2400 bodu
OpenUSART (USART_TX_INT_OFF &
USART_RX_INT_ON &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_LOW, 129);
RCSTA = 0b10010000;kamēr (1) (/ / Rakstīt USART
putrsUSART ("\ nUART gatavs! \ n"); / / Šis paziņojums iespiests hyperteminal/ / / / Pagaidīt ievade
/************************************************* *******/
/ * Problēma ir šeit, pēc iespiešanas paziņojumu UART gatavs!
LED ir blinkin
Bet tas nevar sajūtu klaviatūru inttrupt * /
/************************************************* *********/
bet (! DataRdyUSART ())
(
PORTA = 0x01; / / LED ON
Delay10KTCYx (onesec) / / 1 otrajā kavēšanās
PORTA = 0; / / LED OFF
Delay10KTCYx (onesec);
)kamēr (DataRdyUSART ())
(
Datu = ReadUSART ();
WriteUSART (dati);
))
)
Es esmu lietotājam C18 kompilatoru.Tagad es cenšos izmantot USART funkciju projektā.Tagad es varu nosūtīt datu apstrādi uz PC, bet es nevaru saņemt datus no PC uz kontroliera.Šeit man ir pievienots kods.Lūdzu, kāds man palīdzēt.Paldies jau iepriekš.CPU: 18f1320
IDE: MPLAB7.6
kompilators: C18
PIN LIETO: RB4 = RX
RB1 = TX
Anand
kods:
Kods:# Ietvert <p18f1320.h>
# Ietvert <delays.h>
# Ietvert <usart.h>
# Ietvert <stdlib.h># Pragma config OSC = HS / / INTIO2 / / define OSC tips# Pragma config WDT = OFF / / izslēgt Watchdog taimeris# Pragma config PWRT = OFF / / izslēgt Power-up taimeris# Pragma config Bor = OFF / / izslēgt Brown-out Reset# Pragma config MCLRE = ON / / izslēgt MCLRint onesec;char datiem;par spēkā neesošu galvenais (spēkā neesošs)
(onesec = 1000;ADCON1 = 0x00; / / / / izslēgt PORTB / D/ / OSCCON = 0b01110111;
OSCCON = 0b01000100;TRISA = 0;
TRISB = 0x12;TXREG = 0xAA;baudUSART (BAUD_IDLE_CLK_HIGH &
BAUD_8_BIT_RATE &
BAUD_WAKEUP_ON &
BAUD_AUTO_OFF);/ / Open USART konfigurēts kā 8N1, 2400 bodu
OpenUSART (USART_TX_INT_OFF &
USART_RX_INT_ON &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_LOW, 129);
RCSTA = 0b10010000;kamēr (1) (/ / Rakstīt USART
putrsUSART ("\ nUART gatavs! \ n"); / / Šis paziņojums iespiests hyperteminal/ / / / Pagaidīt ievade
/************************************************* *******/
/ * Problēma ir šeit, pēc iespiešanas paziņojumu UART gatavs!
LED ir blinkin
Bet tas nevar sajūtu klaviatūru inttrupt * /
/************************************************* *********/
bet (! DataRdyUSART ())
(
PORTA = 0x01; / / LED ON
Delay10KTCYx (onesec) / / 1 otrajā kavēšanās
PORTA = 0; / / LED OFF
Delay10KTCYx (onesec);
)kamēr (DataRdyUSART ())
(
Datu = ReadUSART ();
WriteUSART (dati);
))
)