buivantuyen89th
09-02-2015, 10:22 AM
Chào các bạn. mình có viết chương trình nhận chuỗi dữ liệu qua cổng rs-232 rồi hiển thì lên LCD. Nhưng không biết code lỗi ở đâu mà nó chỉ nhận được 4 ký tự đầu tự đầu tiên. mong các bác chỉ giúp.
Xin cảm ơn!
#include <16F887.h>
#include <def_877a.h>
#device *=16 ADC=8
#use delay(clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use i2c(Master, sda = PIN_E1, scl=PIN_E0)
#use rs232(baud=4800,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
//-----------------------khai bao bien----------------------------
// ---------nhap cac file *.c can thiet-------------------
#include <lcd_4bit1.c>
//-----------------------khai bao bien----------------------------
int8 D[16][1],j;
char c;
#INT_RDA
Receive_isr() {
CREN=1;
SPEN=1;
SYNC=0;
c=getc();
lcd_putchar(c);
}
void main()
{
enable_interrupts(int_rda);
enable_interrupts(GLOBAL);
lcd_init();
lcd_putcmd(0x01);
lcd_gotoxy(1,1);
while (1){}
}
Xin cảm ơn!
#include <16F887.h>
#include <def_877a.h>
#device *=16 ADC=8
#use delay(clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use i2c(Master, sda = PIN_E1, scl=PIN_E0)
#use rs232(baud=4800,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
//-----------------------khai bao bien----------------------------
// ---------nhap cac file *.c can thiet-------------------
#include <lcd_4bit1.c>
//-----------------------khai bao bien----------------------------
int8 D[16][1],j;
char c;
#INT_RDA
Receive_isr() {
CREN=1;
SPEN=1;
SYNC=0;
c=getc();
lcd_putchar(c);
}
void main()
{
enable_interrupts(int_rda);
enable_interrupts(GLOBAL);
lcd_init();
lcd_putcmd(0x01);
lcd_gotoxy(1,1);
while (1){}
}