mirror of
https://github.com/caperren/school_archives.git
synced 2025-11-10 06:01:13 +00:00
Added old LED Dot Matrix Project
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
#define SENDSPEED 4
|
||||
|
||||
unsigned char InitializeUART (){
|
||||
unsigned char baud = 12; //((F_CPU/(9600*8UL))-1);
|
||||
|
||||
/* Set baud rate */
|
||||
UBRR1H = (baud >> 8);
|
||||
UBRR1L = baud;
|
||||
/* Set the U2X1 bit */
|
||||
UCSR1A = (1 << U2X1);
|
||||
/* Enable transmitter */
|
||||
UCSR1B = (1 << TXEN1 | 1 << RXEN1);
|
||||
/* Set frame format: 8data, 1stop bit */
|
||||
UCSR1C = (3 << UCSZ10);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** This function needs to write a single byte to the UART. It must check that the UART is ready for a new byte
|
||||
and return a 1 if the byte was not sent.
|
||||
@param [in] data This is the data byte to be sent.
|
||||
@return The function returns a 1 or error and 0 on successful completion.*/
|
||||
|
||||
unsigned char SendByteUART (unsigned char data){
|
||||
|
||||
/*
|
||||
** Checks the buffer empty bit so that data can either be placed in the buffer
|
||||
** or else reuturn a 1
|
||||
*/
|
||||
if((UCSR1A & (1 << UDRE1)) == (1 << UDRE1)){
|
||||
UDR1 = data;
|
||||
_delay_ms(SENDSPEED); //Places data into the UDR1 8-bit data buffer
|
||||
}else {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** This function needs to writes a string to the UART. It must check that the UART is ready for a new byte and
|
||||
return a 1 if the string was not sent.
|
||||
@param [in] data This is a pointer to the data to be sent.
|
||||
@return The function returns a 1 or error and 0 on successful completion.*/
|
||||
|
||||
unsigned char SendStringUART (unsigned char *data){
|
||||
|
||||
for (int loop = 0 ; data[loop] != '\0'; loop++){
|
||||
unsigned char bytereturn; //Storage for return value of SendByteUART
|
||||
|
||||
/* Sends the current byte based on the loop umber to SendByte */
|
||||
bytereturn = SendByteUART(data[loop]);
|
||||
|
||||
/* Stops sending if SendByteUART had an error */
|
||||
if(bytereturn == 1){
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned char GetByteUART(){
|
||||
while(!(UCSR1A & (1 << RXC1)));
|
||||
return(UDR1);
|
||||
}
|
||||
|
||||
unsigned char NewScreen(unsigned char STRING1[], unsigned char STRING2[]){
|
||||
unsigned char UARTREAD[17];
|
||||
unsigned char loop = 0;
|
||||
|
||||
for(; loop < 17 ; loop++){
|
||||
while(!(UARTREAD[loop] = GetByteUART()));
|
||||
}
|
||||
for(loop = 0 ; loop < 8 ; loop ++){
|
||||
STRING1[loop] = UARTREAD[loop];
|
||||
}
|
||||
STRING1[8] = '\0';
|
||||
|
||||
for(; loop < 16 ; loop++){
|
||||
STRING2[(loop-8)] = UARTREAD[loop];
|
||||
}
|
||||
|
||||
SendStringUART(STRING1);
|
||||
SendStringUART(STRING2);
|
||||
SendStringUART("\n");
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user