Hallo Ich habe Code für UART-Code für PIC16F877A geschrieben. Der Code funktioniert nicht und die den Fehler wie Zeiger erforderlich bei MP LAB IDE.I zeigt möchten senden und die Zeichen an den PC Hyper terminal.any ein empfangen von Ihnen, mich hep die Probleme zu lösenpic16f877a uart eingebettet c code
#include<pic.h>
void pic_init(void)
{
TRISC7=1;
TRISC6=0;
}
void uart_init(void)
{
TXSTA=0x20;
RCSTA=0x90;
SPBRG=15;
}
void tx(unsigned char byte)
{
int i;
TXREG=byte;
while(!TXIF);
for(i=0;i<400;i++);
}
void string_uart(char *q)
{
while(*q)
{
*(*q++);
}
}
unsigned char rx()
{
while(!RCIF);
return RCREG;
}
void main()
{
char *q;
pic_init();
uart_init();
tx('N');
rx();
string_uart("test program");
}
Werfen Sie einen Blick auf [diese Anleitung] (https://electrosome.com/uart-pic-microcontroller-mplab-xc8/). Zumindest müssen Sie die Baudrate einstellen, um das zu tun, was Sie tun möchten. Ein kleiner Tipp. Versuchen Sie, den TX- und RX-Pin zu kurzzuschließen und beginnen Sie, damit es funktioniert. Zum Anschluss an den PC benötigen Sie mindestens ein USB-zu-TTL-UART-Kabel (5V). – LPs
Wenn Ihr Compiler eine Diagnosemeldung ausgibt, sollten Sie die genaue Nachricht in die Frage aufnehmen und genau angeben, auf welcher Zeile die Nachricht ausgegeben wurde. – Clifford
@LPs: PCs mit älteren seriellen Ports sind weiterhin verfügbar. Allerdings wird dann ein 232-Linien-Treiber benötigt. Wenn auf seinem PC HyperTerminal standardmäßig installiert ist, muss es ziemlich alt sein und möglicherweise über 232 Ports verfügen. – Clifford