UART Driver
UART Project Description
This project's goal was to write a RS-232C Driver for an RC8660 Speech Synthesizer Board using assembly language. I was to write this driver in order to connect a BeagleBoneBlack to a talker board, and use the talker board to sound out what I program.
The serial port is the RC8660 was asynchronous and operates with 8 data bits, 1 or more stop bits, and any standard baud rate between 300 and 115200 bps.
Based on the settings chsen in LCR, the UART transmitter sends the following to the recieving device:
- 1 START bit
- 4,6,7 or 8 data bits
- 1 PARITY bit(optional)
- 1,1.5, or 2 stop bits
- Initialize Stack
- Initialize GPIO pins
- Initialize peripheral device controllers
- Detect falling edge on GPIO_2 and enable to asser POINTRPEND1
- Initialize INTC
- Turn on UART 5 Clock
- Change pins 37, 38, 31, 32 to mode 4
- Set baud rate and set to mode A
- Write to DLL and DLH registers
- Switch to operational mode
- Initialize Tx and Rx
- Disable FIFO
Then with an interrupt handshaking method, I was able to get the values to the talker board in x increments.