#include "defines.h" //-------------------------------------------------------------------------- //�жϷ����� //-------------------------------------------------------------------------- #pragma CODE_SEG NON_BANKED // interrupt void SCI0_ISR(void) { SCI0SR1_RDRF = ClearFlag; } #pragma CODE_SEG DEFAULT //------------------------------------------------------------------------- //Api_SCI_Trans_Bytes ���ڷ��� INT8U *str,INT16U len : str:�����ַ��� len:�������ݳ��� //-------------------------------------------------------------------------- void Api_SCI_Trans_Bytes(INT8U *str, INT8U len) { INT8U i; for(i = 0; i < len; i++) Api_SCI_Trans_Byte(*str++); } //------------------------------------------------------------------------- //Function Name : Api_SCI_Trans_Byte ���ڷ��� //-------------------------------------------------------------------------- void Api_SCI_Trans_Byte(INT8U data) { while(SCI0SR1_TDRE == null); //�������ݼĴ�����=0����û�գ�1�ǿ� SCI0DRL = data; while(!SCI0SR1_TC); //=1������ɣ����� } //------------------------------------------------------------------------- //Function Name : Api_SCI_Init SCIģ���ʼ�� //-------------------------------------------------------------------------- void Api_SCI_Init(INT8U on) //lin ת����оƬ ����4�����OFF��4�� 20161012���ڶ����ӣ�ȥ��ԭio init�и�ֵ { if(on) { SCI0SR2_AMAP = Disable; SCI0CR1_LOOPS = Disable; //��������ģʽ SCI0CR1_SCISWAI = Disable; //ʹ�ܵȴ�ģʽ SCI0CR1_M = Disable; //8 byte ģʽ SCI0CR1_WAKE = Enable; //Adrress Wake SCI0CR1_PE = Disable; //��ֹУ�� SCI0SR1_RDRF = Disable; //SCI0SR2_BRK13 = !Enable; //14bit break //0 SCI0SR2_BRK13 = 1; //14bit break //0 SCI0SR2_AMAP = Disable; //SCI0BDH_TNP = 3; //div4; SCI0BDH_IREN = Disable; //��ֹ������ SCI0BD_SBR = 17; //208 /*SCI0CR2_TIE = Disable; SCI0CR2_TCIE = Disable; SCI0CR2_ILIE = Disable; */ SCI0CR2_RE = Enable; //ʹ�ܽ��� // #if MODE_SEND SCI0CR2_TE = Enable; //ʹ�ܷ��� //SCI0CR2_RWU = Enable; //SCI0CR2_SBK = Disable; SCI0CR2_RIE = Enable; //ʹ�ܽ����ж� SCI0SR2_AMAP = Enable; SCI0ACR2_BKDFE = Enable; //ʹ�ܶϵ����· SCI0ACR2_BERRM = 0; //SCI0ACR1_BERRIE = Disable; //λ���� //SCI0ACR1_RXEDGIE = Disable; // SCI0ACR1_BKDIE = Enable; //�ϵ���ʹ�� SCI0ASR1_BKDIF = ClearFlag; } else { SCI0CR1_WAKE = Disable; //Adrress Wake SCI0CR2_RE = Disable; //ʹ�ܽ��� SCI0CR2_TE = Disable; //ʹ�ܷ��� SCI0CR2_RIE = Disable; //ʹ�ܽ����ж� SCI0ACR2_BKDFE = Disable; //ʹ�ܶϵ����· SCI0ACR1_BKDIE = Disable; //�ϵ���ʹ�� SCI0ASR1_BKDIF = ClearFlag; } }