em mới học pic. em muốn viết một ctrinh nhân một kí tự (A) từ pc qua cổng rs232 xuống vdk pic6f877a và lập trình cho vdk đó xuất tín hiệu ra chân B0 để dk thiết bị ngoại vi. rât mong được sự giúp đỡ của các pác. thanks!
|
các pác giup em chuong trinh nhận một ki tu A tu may tinh xuong pic 16f877a, va tu do lap trinh cho vdk xuất tín hiêu ra chan B0 di ạ. chuong trinh viet bang ccs. cac pác giup em voi!
|
Anh Hard ơi cho em hỏi một chút. Nếu truyền dữ liệu dạng khung có nhiều trường như anh nói( kích thước lớn) qua UART thì làm thế nào?
Mọi người cho em xin ý kiến! Thanksss! |
truyền nối tiếp rs232
mình mới vào nghề pic6f877a cho mình hỏi cái này chút: nếu như mình gửi xuống bằng vb6 thì khi gửi xuống cho pic nó sẽ hiểu là mã ascii phai không vậy thì làm sao để pic có thể hiểu được nhỉ chương trình mình dùng vb6 với mscomm gửi các số từ 0 dến 150 xuống cho pic6f877a(dùng ccs)vậy thì có 2 vấn đề xảy ra như thế này: -khi truyền từ pc vb6 sẽ truyền mã ascii phải ko ạ như vậy số 1 mà pc truyền la 49 vậy pic nhận như thế nào để xuất ra portd là 00000001 và gửi lên pc là số bao nhiêu để vb6 hiển thị số 1 -và 1 vấn đề nữa là khi gửi số có 2 chữ số trở lên thì phải gửi như thê nào nữa ví dụ mình gửi số 127 từ pc xuống pic rồi hiển thị bằng cách quét led với portd va porte.rồi mình gửi từ pic lên cho pc số 132 để hiển thị lên text2.text trên vb6 MONG CÁC BÁC LÂU NĂM TRONG NGHỀ GIÚP ĐỠ! RẤT MONG ĐƯỢC HỒI ÂM CỦA CÁC BẠN TRONG DIỄN ĐÀN VÌ MÌNH ĐANG RẤT CẦN |
mong được các bác giúp đỡ để mình có thể làm được
nếu có ai vô tình ghé qua thì cũng xin góp ý cho minh với cam on rat nhieu! |
Trích:
- Gửi từ PC xuống, bản có thể gửi theo 1 chuỗi xuống với ký tự cuối cùng là @ chẳng hạn để vi điều khiển có thể nhận biết và vi điều khiển sẽ nhận từng ký tự cất vào 1 mảng. Chương trình có thể tham khảo như sau: #INT_RDA void Receive_isr() { text[dem]=getc(); if(text[dem]=='@') //kiem tra dieu kien ket thuc { flag =1; //ket thuc nhan, bat co bao dem=0; } else dem++; } - Còn truyền từ vi điều khiển lên thì chỉ cần dùng hàm printf là được. VD: hiển thị số 132 là printf("%Lu",132) |
cảm ơn all các bạn rất nhiều .
|
Mình vẫn chưa giao tiếp được, mặc dù mình chỉ truyền nhận 1 ký tự thôi..
Code:
#include <16f877a.h> |
mình sử dụng 2 con pic 16f877 để giao tiếp với nhau qua cổng RS232. nhưng chúng không hiểu được nhau. Bạn nào đã làm rồi cho mình xin code hoặc hướng dẫn giúp mình nhé. mình xin cảm ơn nhiều.
|
Trích:
Bạn tungbka cho mình hỏi mảng text[dem] bạn khai báo kiểu gì int text[dem] hay char text[dem] ..mình đang phân vân chỗ này. |
to dang viet chuong trinh dieu khien con robot cung dung rs232 va muon ket hop tong the voi chuong trinh khac : tuc la to muon dung nut bam de chon che do dieu khien theo rs232 hay che do onchip nhung kho hieu sao ma chuong trinh nay kho the chay khi ket hop ca hai chuong trinh dc ?? ai bit lam cach nao de ket hop chung voi nhau xin chi giup to !! thanks rat rat rat rat nhieu
|
to quen mat to dung pic6f877a va ccs de viet chuong trinh va vb de truyen thong
|
cho to hoi chan ngat trong khi dung rs232 la chan nao vay ?? va chuong trinh ngat cho no thi viet tong quat ntn ?? hic hic to moi bat dau hoc nen kho hieu may mong moi nguoi chi giup !!!
|
Trong PIC16F877A có 2 ngắt truyền thông
-ngắt RDA:ngắt xảy ra khi nhận được 1 ký tự qua cổng nối tiếp. #int_RDA() -ngắt TBE:xảy ra khi bộ đệm truyền trống. #int_TBE() -Bạn nên xem lại datasheet của pic16f877a |
Trích:
em sử dụng câu lệnh printf("truyen") nhưng trên PC không nhận đuợc gì cả. còn truyền từ PC - VDK thì VDK vẫn hiển thị tốt ạ. |
Múi giờ GMT. Hiện tại là 01:55 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam