View Single Post
Old 01-07-2016, 06:44 PM   #1
Hieu98DT
Đệ tử 3 túi
 
Tham gia ngày: Feb 2006
Bài gửi: 50
:
Nhờ xem giúp code giao tiếp HC05 !

Chào mọi người !

Mình mới tập giao tiếp với module Bluetooth HC05.

Mình có viêt 1 đoạn code như sau, nhưng code chạy không đúng yêu cầu, nhờ các bạn xem giúp mình và hướng dẫn mình sửa nhé.

Xin chân thành cám ơn !

//================================================== ==========================
// Ten chuong trinh : Demo Bluetooth
// Nguoi thuc hien : Tran Thanh Hieu
// Ngay thuc hien : 22/06/2016
// Ngay hoan thanh : /06/2012
// Mo ta phan cung : Dung PIC16F877A - Thach anh 10MHz,
// : HC05 (Vcc = 3 -> 5V ) đã cài thành slave
// :
// :
//================================================== ==========================
/*
================================================== ============================
Ghi chu :

================================================== ============================
*/
#include <16f877A.h>
#include <def_877a.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT
#use delay (clock=10000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=9)

char data;
int b;

void main()
{
trisb=0b11110000;
trisa=0b00000000;

porta=0b00000000;
portb=0b11110000;

b=0;

while (1)
{
data=getchar();
if(data=='1')
{
output_low(pin_B3);
b=0;

}
if (data=='2')
{
b=1;
output_high(pin_A5);
}

if (!input(pin_B4)&&(b=1)) // Chỗ này không chạy đúng ý đồ
{
output_high(pin_B3);
}

}

}

Đoạn code chạy không đúng ý đồ của mình cụ thể như sau :

1- Khi mình gửi data='2' từ điện thoại trước
2- Sau đó cho RB4 xuống mass thì ngõ ra RB3 không lên mức cao (RB3=0)

Nếu mình đảo ngược lại quá trình
1 - Cho RB4 xuống mass trước
2- Sau đó gửi data='2' từ điện thoại thì ngõ ra RB3 lên mức cao (RB3=1)
Hieu98DT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn