/****************************************************************************** �� �� ����SCI0_UART.c ����������UARTģʽSCI0�������ļ� �� �ߣ����� �� ����V1.0 �� �ڣ�2016.11.17 ******************************************************************************/ #include "SCI0_UART.h" SCI0TxBufferStruct SCI0TxBuffer; /****************************************************************************** ��������SCI0_UART_Byte_Rx �� �ܣ�UART�ֽڽ��պ��� �ڸú����������ϲ�Ľ��պ���,�������ϲ�ָʾ�ѽ��յ�����,����������Data �� ����Data�����յ������� ����ֵ���� ******************************************************************************/ void SCI0_UART_Byte_Rx(uint8_t Data) { uint8_t Parity; Parity = SCI0SR1_PF; } /****************************************************************************** ��������SCI0_UART_Byte_Tx �� �ܣ�UART�ֽڷ��ͺ��� ��������һ�ֽ�����,���ô˺���֮ǰ,����ȷ������Buffer�ǿյ�,���������� �������ݵĶ�ʧ �� ����Data����Ҫ���͵����� ����ֵ���� ******************************************************************************/ void SCI0_UART_Byte_Tx(uint8_t Data) { SCI0DRL = Data; } /****************************************************************************** ��������SCI0_UART_Block_Tx �� �ܣ�UART�鷢�ͺ��� ��������N�ֽ�����,���ô˺���֮ǰ,����ȷ������Buffer�ǿյ�,���������� �������ݵĶ�ʧ �� ����Data����Ҫ���͵����� Len ����Ҫ���͵����ݳ��� ����ֵ���� ******************************************************************************/ void SCI0_UART_Block_Tx(uint8_t *Data, uint8_t Len) { uint8_t i; SCI0TxBuffer.Len = Len - 1; for (i = 0; i < Len; i++) SCI0TxBuffer.Data[Len - i - 1] = Data[i]; SCI0DRL = SCI0TxBuffer.Data[SCI0TxBuffer.Len]; //���͵�һ���ֽ� SCI0CR2_TIE = 1; //ʹ�ܷ���Buffer���ж� } /****************************************************************************** ��������SCI0_UART_Get_Tx_Buffer_Status �� �ܣ���ȡ����Buffer�ĵ�ǰ״̬ �� ������ ����ֵ��0 - Ŀǰû�������ڷ��� 1 - Ŀǰ�������ڷ��� ******************************************************************************/ uint8_t SCI0_UART_Get_Tx_Buffer_Status(void) { if ((SCI0SR1_TDRE != 0) && (SCI0TxBuffer.Len == 0)) return 0; return 1; } /****************************************************************************** ��������SCI0_UART_Init �� �ܣ���ʼ��SCI0ΪUARTģʽ,��������SCI0_UART.h�����õ�UART���� �� ������ ����ֵ���� ******************************************************************************/ void SCI0_UART_Init(void) ////////////���Ա��� { uint8_t m16; m16 = 104; SCI0BDH = (INT8U)((m16 >> 8)); SCI0BDL = (INT8U)(m16); SCI0CR1 = 0x00; // 8 Data Bits, 1 Start Bit, 1 Stop Bit, No Parity SCI0CR2 = 0x0C; // Enable Tx and Rx } #pragma CODE_SEG __NEAR_SEG NON_BANKED //�������жϺ�������FLASH�ķǷ�ҳ�� /****************************************************************************** ��������SCI0_ISR �� �ܣ�SCI0�жϷ�����,���ڽ������� �� ������ ����ֵ���� ******************************************************************************/ void interrupt SCI0_ISR(void) { } #pragma CODE_SEG DEFAULT