hallo!
kann mir jemand ein programm für einen pic 16f627 schreiben?
Ich sende mit einem Programm daten auf die rs232 und möchte das der
mikrocontroller darauf reagiert!
wenn von der rs232 schnittstelle z.b. ein "x" kommt soll der
mikrocontroller einen ausgang auf high schalten bis ich mit einem "y"
den ausgang zurück setze!
falls mir jemand helfen könnte wäre das super!!!
DANKE
newbi wrote:
> kann mir jemand ein programm für einen pic 16f627 schreiben?
Ne, PIC kann ich nicht.
Fürn AVR, z.B. ATtiny25 könnte ich das machen (in C mit AVR-GCC).
Peter
newbi wrote:
> hallo!> kann mir jemand ein programm für einen pic 16f627 schreiben?
Und in welcher Programmiersprache musst Du die Übung abgeben?
Assembler? C? (welcher Compiler?) Basic?
hallo!
also ich brauche das projekt nicht für die schule!
ich awürd nur einfach gerne per rs232 ein paar transistoren schalten die
dann andere dinge schalten!
mfg
hab hier einen sourcecode gefunden!
kann ich den für meinen atmega8515 benutzen?? oder muss etwas geändert
werden das makefile hab ich auch!danke
#include <io.h> // Wir brauchen Zugriff auf die I/O's des Controllers
#define F_CPU 6000000 /* 6Mhz */
#define UART_BAUD_RATE 9600 /* 9600 baud */
// Berechnung des Inhalts des UBBR-Registers
#define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16l)-1)
// Datentypdefinitionen
typedef unsigned char BYTE;
typedef unsigned short WORD;
int main (void)
/***********************************************************************
*****
Hier ist der Programmeinstiegspunkt.
*/
{
/* UART Control Register laden. Wir verwenden (noch)
keine Interrupts. Hier wollen wir nur empfangen, also wird
nur das Receiver Enable Flag gesetzt. */
outp ((1 << RXEN), UCR);
/* Baudrate einstellen */
outp ((BYTE) UART_BAUD_SELECT, UBRR);
// Port B als Ausgang konfigurieren
outp (0xff, DDRB);
// Hier machen wir einmal etwas anderes zur Realisierung der
// Endlosschleife. Wir setzen zu Beginn der Schleife ein Label.
// Am Schleifenende springen wir direkt zu diesem Label.
// Nicht schön, aber unheimlich schnell.
LOOP:
// Prüfen, ob ein Zeichen empfangen wurde.
if (inp (USR) & (1 << RXC)) { // Bit RXC im USR gesetzt ?
switch (inp (UDR)) { // Datenregister auslesen
case '1': // LED einschalten
sbi (PORTB, PINB0);
break;
case '0': // LED ausschalten
cbi (PORTB, PINB0);
break;
default: // Bei allen anderen Zeichen nichts tun
break;
}
}
goto LOOP;
} /* end of main */
newbi wrote:
> hab hier einen sourcecode gefunden!> kann ich den für meinen atmega8515 benutzen?? oder muss etwas geändert> werden das makefile hab ich auch!danke
Sollte gehen.
Da sind aber einige uralte Macros drinn, die brauchen diese Zeile:
1
#include<compat/deprecated.h>
Außerdem brauchst Du noch nen MAX232 Pegelwandler.
Peter
P.S.:
Ein goto ist nicht ein Fitzelchen schneller als ein while(1) oder
for(;;)
Eines stimmt aber, das "goto" ist C-Programmierern generell
"unheimlich".
newbi wrote:
> hab hier einen sourcecode gefunden!> kann ich den für meinen atmega8515 benutzen??
Möglicherweise, was spricht dagegen das einfach mal auszuprobieren?
> oder muss etwas geändert> werden das makefile hab ich auch!danke>>> ...
Der "gute" Peter Dannegger hat dir ja auch noch einen Code,
(rs232_xy.zip) reingestellt, vermutlich die absolute Profilösung für
dein kleines Problem, hast du da überhaupt schon mal reingeschaut?
Also wenn ich das nächste mal was programmieren muss, melde ich mich
auch einfach als "newbi" an und warte darauf, dass Peter mir ein
fertiges Zip reinstellt. Nichts für ungut.
Albrecht H. wrote:
> Der "gute" Peter Dannegger hat dir ja auch noch einen Code,> (rs232_xy.zip) reingestellt, vermutlich die absolute Profilösung für> dein kleines Problem, hast du da überhaupt schon mal reingeschaut?
Ja, das könnte wohl etwas zu übertrieben sein.
Software-UART mit Autobaud und FIFO muß ja nicht sein.
Mein ATtiny25 Code ist auch nicht so einfach auf den ATmega8515
portierbar.
Der Code vom Posting 13:30 Uhr sollte es tun aufm ATmega8515.
> Also wenn ich das nächste mal was programmieren muss, melde ich mich> auch einfach als "newbi" an und warte darauf, dass Peter mir ein> fertiges Zip reinstellt. Nichts für ungut.
Der Code steht ja zu 99% so ähnlich schon in der Codesammlung.
Das Main kräftig zusammengestrichen, LCD-Code rausgehauen, fertig.
Peter
Danke Peter ich bin auch Newbie,
muss für mein Diplom Matlab Simulink-Teile auf einen ARM-Core meiner
Wahl implentieren!
Code und Schaltplan bitte!
Danke fubu ^^
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.