hubert_K
20.08.2010, 15:38
Grüß euch!
Habe folgendes Problem.
Hab mir ein winziges Testprogramm geschrieben um über die USART-Schnittstelle zwischen PIC und BTM112 zu kommunizieren und um anschließend zwischen PC und BTM112 zu kommunizieren:
//Config-Bits
#pragma config WDTEN = OFF
#pragma config STVREN = OFF
#pragma config XINST = OFF
#pragma config CP0 = OFF, IESO = OFF, WDTPS = 1, DSWDTOSC = INTOSCREF
#pragma config OSC = INTOSC, T1DIG = OFF, LPT1OSC = OFF, FCMEN = OFF
//Include-Files
#include "p18f26j11.h"
#include "adc.h"
#include "stdlib.h"
#include "delays.h"
#include "stdio.h"
#include "usart.h"
//int result_1=0;
//int result_2=0;
void main(void)
{
/*
TRISB = 0b11111111;
OpenADC(ADC_FOSC_64 & ADC_RIGHT_JUST & ADC_2_TAD,
ADC_CH8 & ADC_INT_OFF & ADC_VREFPLUS_VDD,15);
Delay10TCYx(10);
ConvertADC();
while( BusyADC() );
result_1 = ReadADC();
CloseADC();
printf("%d\n", result_1);*/
Open1USART( USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH,
25);
putrs1USART("123!\n" );
Delay10TCYx(10);
Close1USART();
while(1)
{
}
}
Das BTM112 hat sich als COM8 und COM10 angemeldet ich kann aber weder auf der einen noch auf der anderen etwas sniffn.
Hab ich einen Fehler... hab stimmt was mit der Beschaltung nicht (BTM-RX zu PIC TX und BTM-TX zu PIC-RX)... stimmt mit den Spannungspegeln was nicht? Ich betreibe nämlich die gesamte Schaltung mit 3.3V sprich auch der PIC hat nur 3,3V zur Verfügung. Muss ich das USART Signal vom PIC mit einem MAX232 hochsteppen?
Mir ist ein bisschen die Motivation vergangen wenn nichtmal das "einfachste" Programm funktioniert.
Vielen Dank schonmal für eure Hilfe
Hubsi
Habe folgendes Problem.
Hab mir ein winziges Testprogramm geschrieben um über die USART-Schnittstelle zwischen PIC und BTM112 zu kommunizieren und um anschließend zwischen PC und BTM112 zu kommunizieren:
//Config-Bits
#pragma config WDTEN = OFF
#pragma config STVREN = OFF
#pragma config XINST = OFF
#pragma config CP0 = OFF, IESO = OFF, WDTPS = 1, DSWDTOSC = INTOSCREF
#pragma config OSC = INTOSC, T1DIG = OFF, LPT1OSC = OFF, FCMEN = OFF
//Include-Files
#include "p18f26j11.h"
#include "adc.h"
#include "stdlib.h"
#include "delays.h"
#include "stdio.h"
#include "usart.h"
//int result_1=0;
//int result_2=0;
void main(void)
{
/*
TRISB = 0b11111111;
OpenADC(ADC_FOSC_64 & ADC_RIGHT_JUST & ADC_2_TAD,
ADC_CH8 & ADC_INT_OFF & ADC_VREFPLUS_VDD,15);
Delay10TCYx(10);
ConvertADC();
while( BusyADC() );
result_1 = ReadADC();
CloseADC();
printf("%d\n", result_1);*/
Open1USART( USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH,
25);
putrs1USART("123!\n" );
Delay10TCYx(10);
Close1USART();
while(1)
{
}
}
Das BTM112 hat sich als COM8 und COM10 angemeldet ich kann aber weder auf der einen noch auf der anderen etwas sniffn.
Hab ich einen Fehler... hab stimmt was mit der Beschaltung nicht (BTM-RX zu PIC TX und BTM-TX zu PIC-RX)... stimmt mit den Spannungspegeln was nicht? Ich betreibe nämlich die gesamte Schaltung mit 3.3V sprich auch der PIC hat nur 3,3V zur Verfügung. Muss ich das USART Signal vom PIC mit einem MAX232 hochsteppen?
Mir ist ein bisschen die Motivation vergangen wenn nichtmal das "einfachste" Programm funktioniert.
Vielen Dank schonmal für eure Hilfe
Hubsi