View Full Version : PIC16F877A with RF-RS232(Quế Dương)
trongnghia85
10-08-2008, 09:37 PM
Tui vừa mua Modul RF-RS232 của bác quế dương về ,khi test tui sử dụng PIC16F877A để truyền 1 xâu kí tự lên(Baud=2400) sau đó dùng Tool Serial Port Monitor trong CCS 4.0 để xem thì thấy các kí tự bị lỗi font .Tui nghĩ mình không sử dụng được các hàm hỗ trợ RS232 trong CCS mà phải tự xây dựng mới truyền đúng được .Bác nào đã làm với Modul này rồi chỉ giáo giúp với ,làm sao có thể truyền một xâu kí tự chuẩn xác lên được ,cảm ơn nhiều!
code :
#INCLUDE<16F877A.H>
#FUSES NOWDT,PUT,HS,NOPROTECT,NOBROWNOUT,NOLVP
#USE DELAY(CLOCK=10M)
#USE RS232(BAUD=2400,PARITY=N,XMIT=PIN_C6,RCV=PIN_C7)
#USE FAST_IO(A)
#USE FAST_IO(B)
#USE FAST_IO(C)
#USE FAST_IO(D)
#USE FAST_IO(E)
#BYTE PORTA=0x05
#BYTE PORTB=0x06
#BYTE PORTC=0x07
#BYTE PORTD=0x08
#BYTE PORTE=0x09
//====================****Main****================== ======
VOID MAIN()
{
SET_TRIS_A(255);
SET_TRIS_B(255);
SET_TRIS_C(0xA0);
SET_TRIS_D(0);
SET_TRIS_E(255);
PORTC=255;
WHILE(1)
{
PRINTF("hello");
DELAY_MS(1000);
}
}
phamminhtuan
11-08-2008, 02:45 AM
Tui vừa mua Modul RF-RS232 của bác quế dương về ,khi test tui sử dụng PIC16F877A để truyền 1 xâu kí tự lên(Baud=2400) sau đó dùng Tool Serial Port Monitor trong CCS 4.0 để xem thì thấy các kí tự bị lỗi font .Tui nghĩ mình không sử dụng được các hàm hỗ trợ RS232 trong CCS mà phải tự xây dựng mới truyền đúng được .Bác nào đã làm với Modul này rồi chỉ giáo giúp với ,làm sao có thể truyền một xâu kí tự chuẩn xác lên được ,cảm ơn nhiều!
code :
#INCLUDE<16F877A.H>
#FUSES NOWDT,PUT,HS,NOPROTECT,NOBROWNOUT,NOLVP
#USE DELAY(CLOCK=10M)
#USE RS232(BAUD=2400,PARITY=N,XMIT=PIN_C6,RCV=PIN_C7)
#USE FAST_IO(A)
#USE FAST_IO(B)
#USE FAST_IO(C)
#USE FAST_IO(D)
#USE FAST_IO(E)
#BYTE PORTA=0x05
#BYTE PORTB=0x06
#BYTE PORTC=0x07
#BYTE PORTD=0x08
#BYTE PORTE=0x09
//====================****Main****================== ======
VOID MAIN()
{
SET_TRIS_A(255);
SET_TRIS_B(255);
SET_TRIS_C(0xA0);
SET_TRIS_D(0);
SET_TRIS_E(255);
PORTC=255;
WHILE(1)
{
PRINTF("hello");
DELAY_MS(1000);
}
}
Bài này đã gởi trên dientuvietnam.net rồi mà.
Bạn đã giải quyết việc truyền có dây chưa, nếu truyền được có dây rồi thì dùng không dây là biết ngay lỗi có phải do module RF không thôi mà.
Chương trình bạn không sai gì cả, PORTC có 2 PIN đã được cấu hình RS232 rồi nên nếu bạn không sử dụng hay không nắm rõ thì không nên set_tris_c
Hàm printf đã định dạng chuỗi ký tự gởi đi rồi, do đó việc bạn nhận sai chủ yếu là phần cứng thôi, hãy kiểm tra kỹ
trongnghia85
12-08-2008, 05:58 PM
Bài này đã gởi trên dientuvietnam.net rồi mà.
Bạn đã giải quyết việc truyền có dây chưa, nếu truyền được có dây rồi thì dùng không dây là biết ngay lỗi có phải do module RF không thôi mà.
Chương trình bạn không sai gì cả, PORTC có 2 PIN đã được cấu hình RS232 rồi nên nếu bạn không sử dụng hay không nắm rõ thì không nên set_tris_c
Hàm printf đã định dạng chuỗi ký tự gởi đi rồi, do đó việc bạn nhận sai chủ yếu là phần cứng thôi, hãy kiểm tra kỹ
Mình đã giải quyết được vấn đề lỗi Font ,nhưng khi truyền 1 xâu kí tự lên thì thường xuyên bị thiếu kí tự mặc dù theo khuyến cáo đã delay 300ms cho 1 lần truyền 1 kí tự .Như vậy 1s chỉ truyền được 3,4 kí tự thì còn làm ăn được gì nữa ,chậm hơn rùa mà vẫn còn mất kí tự nữa chứ ,đang nghiên cứu tác động vào phần cứng xem sao ,pó tay.com luôn
no_problems
09-04-2011, 10:05 AM
ah trong nghie a.em cung truyen cung bi loi font.cua ah loi do dau , khac phuc the nao chi dum em voi.em cam on anh
no_problems
27-04-2011, 04:40 PM
sao chang ai giup do vay.
em tim mai ma chua thay loi
ai bit chi em voi.dang lam do an.nan qua
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.