Thank you mister_e..
I've set both baud rate=9600.
This is my PIC coding:
unsigned long temp_res;
unsigned long h;
void NumtoChar(char a)
{
unsigned char digit[3];
digit[0]=a/100;
digit[0]+=0x30;
a=a%100 ;
digit[1]=a/10;
digit[1]+=0x30;
digit[2]=a%10;
digit[2]+=0x30;
Soft_UART_Write(digit[0]);
Soft_UART_Write(digit[1]);
soft_UART_Write('.');
Soft_UART_Write(digit[2]);
}
void main()
{
Soft_UART_Init(PORTC, 7, 6, 9600, 0);
ADCON1 = 0x81;
TRISA = 0xFF;
TRISB = 0X00;
TRISC = 0X00;
TRISD = 0X00;
while(1)
{
temp_res = ADC_Read(0) >> 2 ;
delay_ms(300);
PORTB = temp_res ;
h = temp_res*1.3;
NumtoChar(h);
ADRESH = 0;
ADRESL = 0;
}
}
This is my VB coding:
Option Explicit
Dim ipt As String
Private Sub Command1_Click()
MSComm1.Output = "M"
End Sub
Private Sub Form_Unload(cancel As Integer)
If MsgBox("Are you sure you want to quit?", _
vbYesNo + vbQuestion, _
"Exit") = vbNo Then
cancel = 1
Else
End If
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 3
MSComm1.PortOpen = True
End Sub
Private Sub Timer1_Timer()
ipt = MSComm1.Input
ipt = Right(ipt, 4)
Text1.Text = ipt
End Sub
The pic coding works and the temperature measured can be displayed on VB. But the VB coding above i add command button to send a character. I should add in the pic coding too right? I'm not good at coding. When i add receive coding in pic it doesn't works. The vb can receive temperature from pic, meaning they can communicate. Just the problem is the pic can't receive from vb. how to send the command from vb to pic?
Bookmarks