Helauauau und Alaaaf,
für ein Programm das mit dem PC kommunizieren soll wollte
ich die USB-Verbindung nutzen und deshalb aus probieren!
Mein Programm lehnt sich an das von "UART1" an. Siehe unten.
Aber auf Txd1 zuckt und Ruckt nichts. Wenn ich P6_7 (pin Txd1) direkt "anspreche" geht 's aber - nix kaputt!!!!
Wo ist was Falsch? Im "initUART1"? Oder im "sendTxD1"?
#include "sfr111.h"
#include "hwsetup.h"
void initUART1(void)
{
pd6_7 = 1;//Txd1 Output
pd6_6 = 0;//Rxd1 Input
p6_7 = 0;//Txd1 = 1
u1c0 = 0x10;//CTS disabled ????? ist es das CTS von der "Seriellen" -Welcher Pin?
u1brg = 0xA2;//9600bps ?????? Wie ist die Periphere Clock-Frequens auf unserem Board ( Nach "ConfigureOperatingFrequency();" )
u1c1 = 0x05;//
u1mr = 0x05;//
u1smr = 0x00;//
u1smr2 = 0x00;//
u1smr3 = 0x00; //
u1smr4 = 0x00; //
re_u1c1 = 1;//
te_u1c1 = 1;
}
void sendTxD1(unsigned char data)
{
while (ti_u1c1 == 0);
u1tb = data;
te_u1c1 = 1;
}
/**********************************************************************************
unsigned char receiveRxD1(void)
{
unsigned char data = 0;
unsigned char dummy;
while (ir_s1ric == 0);//Warten bis Post kommt
//if (ir_s1ric == 1)//ist Post gekommen?
{
ir_s1ric = 0;//Flag rücksetzen
data = u1rbl;//Post rausnehmen
dummy = u1rbh;
re_u1c1 = 1;
}
//else data = 0;keine Post!! 0 abliefern
return data;//und abliefern
}
************************************************************************************/
void main(void)
{
unsigned char Data;
ConfigureOperatingFrequency();
initUART1();
Data = 65;
while(1)
{
//Data = receiveRxD1();
sendTxD1(Data); //soll ständig senden!!!!!!!!!!!!//um was messen zu können
}
}
Ein funktionierendes Beispiel wehre sehr Hilfreich!!!
Ein paar elementare Fragen stehen auch in den Kommentaren.
schon mal Vielen Dank im voraus
Gruß Roland
für ein Programm das mit dem PC kommunizieren soll wollte
ich die USB-Verbindung nutzen und deshalb aus probieren!
Mein Programm lehnt sich an das von "UART1" an. Siehe unten.
Aber auf Txd1 zuckt und Ruckt nichts. Wenn ich P6_7 (pin Txd1) direkt "anspreche" geht 's aber - nix kaputt!!!!
Wo ist was Falsch? Im "initUART1"? Oder im "sendTxD1"?
#include "sfr111.h"
#include "hwsetup.h"
void initUART1(void)
{
pd6_7 = 1;//Txd1 Output
pd6_6 = 0;//Rxd1 Input
p6_7 = 0;//Txd1 = 1
u1c0 = 0x10;//CTS disabled ????? ist es das CTS von der "Seriellen" -Welcher Pin?
u1brg = 0xA2;//9600bps ?????? Wie ist die Periphere Clock-Frequens auf unserem Board ( Nach "ConfigureOperatingFrequency();" )
u1c1 = 0x05;//
u1mr = 0x05;//
u1smr = 0x00;//
u1smr2 = 0x00;//
u1smr3 = 0x00; //
u1smr4 = 0x00; //
re_u1c1 = 1;//
te_u1c1 = 1;
}
void sendTxD1(unsigned char data)
{
while (ti_u1c1 == 0);
u1tb = data;
te_u1c1 = 1;
}
/**********************************************************************************
unsigned char receiveRxD1(void)
{
unsigned char data = 0;
unsigned char dummy;
while (ir_s1ric == 0);//Warten bis Post kommt
//if (ir_s1ric == 1)//ist Post gekommen?
{
ir_s1ric = 0;//Flag rücksetzen
data = u1rbl;//Post rausnehmen
dummy = u1rbh;
re_u1c1 = 1;
}
//else data = 0;keine Post!! 0 abliefern
return data;//und abliefern
}
************************************************************************************/
void main(void)
{
unsigned char Data;
ConfigureOperatingFrequency();
initUART1();
Data = 65;
while(1)
{
//Data = receiveRxD1();
sendTxD1(Data); //soll ständig senden!!!!!!!!!!!!//um was messen zu können
}
}
Ein funktionierendes Beispiel wehre sehr Hilfreich!!!
Ein paar elementare Fragen stehen auch in den Kommentaren.
schon mal Vielen Dank im voraus
Gruß Roland