PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BTM112 ZU PC



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

Siro
21.08.2010, 17:16
vielleicht ein Chipfehler ???
Schau mal hier nach:

http://ww1.microchip.com/downloads/en/DeviceDoc/80435g.pdf

mfg. Siro

hubert_K
23.08.2010, 19:23
Nur für die Vollständigkeit... hab jetzt herausgefunden an was es lag... Anscheinend liegt der INTOSC meines PIC's nicht bei 8MHz sondern bei 4MHz somit ändert sich der letzte Eintrag in OpenUSART von 25 auf 12 (Rechnung siehe PIC-Datenblatt....

Mfg

Hubsi